回答:
if (!a) {
// is emtpy
}
文字列の空白を無視するには:
if (!a.trim()) {
// is empty or whitespace
}
a
です。 ""またはその他の偽の値(null、false、undefined、0、NaN)の場合、式はtrueと評価されます。
if (!$.trim(a))
if (!a.trim())
少し危険じゃないですか?a
未定義またはnullの場合はどうなりますか?
あなたが与えたリンクは、繰り返しを避けようとしているテストとは異なる何かを試みているようです。
if (a == null || a=='')
文字列が空の文字列またはnullかどうかをテストします。リンクした記事は、文字列全体が空白で構成されている(または空である)かどうかをテストします。
あなたが説明したテストは次のものに置き換えることができます:
if (!a)
JavaScriptでは、空の文字列とnullの両方がブールコンテキストでfalseと評価されるためです。
if(!a)
例えば4つのスペースで構成される文字列では失敗しませんか?``
0
空の文字列のように扱われますが、ではありません"0"
。それがあなたの意図したことだと思いますか?これがa
文字列またはnullのいずれかであることがわかっている場合に使用されていると考えられますが、そうです。知っておくべきこと。
デビッドの答えに基づいて、私は与えられたオブジェクトが文字列であるかどうかを最初にチェックするのが好きです。そうで.trim()
ない場合、存在しないオブジェクトを呼び出すと例外がスローされます。
function isEmpty(value) {
return typeof value == 'string' && !value.trim() || typeof value == 'undefined' || value === null;
}
使用法:
isEmpty(undefined); // true
isEmpty(null); // true
isEmpty(''); // true
isEmpty('foo'); // false
isEmpty(1); // false
isEmpty(0); // false
jQueryを使用して、データが空の文字列であるかどうかを確認し(空白は無視してください)
function isBlank( data ) {
return ( $.trim(data).length == 0 );
}
null、undefined、 ''、 ''、{}、[]などのすべての「空」をチェックします。
var isEmpty = function(data) {
if(typeof(data) === 'object'){
if(JSON.stringify(data) === '{}' || JSON.stringify(data) === '[]'){
return true;
}else if(!data){
return true;
}
return false;
}else if(typeof(data) === 'string'){
if(!data.trim()){
return true;
}
return false;
}else if(typeof(data) === 'undefined'){
return true;
}else{
return false;
}
}
ユースケースと結果。
console.log(isEmpty()); // true
console.log(isEmpty(null)); // true
console.log(isEmpty('')); // true
console.log(isEmpty(' ')); // true
console.log(isEmpty(undefined)); // true
console.log(isEmpty({})); // true
console.log(isEmpty([])); // true
console.log(isEmpty(0)); // false
console.log(isEmpty('Hey')); // false
if((a.trim()=="")||(a=="")||(a==null))
{
//empty condition
}
else
{
//working condition
}
null
、その後a.trim()
失敗するだろう。これは物事をチェックするための悪い順序です。そして、あなたが順序を変更した場合、あなたの答えは何も提供しません、それは以前には提案されていませんでした。