私はこのテストをたくさん使っているようです
if( object && object !== "null" && object !== "undefined" ){
doSomething();
}
onobjects
サービス呼び出しまたは Cookie の読み取りから戻ってきました (異なるブラウザは異なる値null
、undefined
、"null"
、またはを返すため"undefined"
)。
このチェックを行うためのより簡単で効率的な方法はありますか?
私はこのテストをたくさん使っているようです
if( object && object !== "null" && object !== "undefined" ){
doSomething();
}
onobjects
サービス呼び出しまたは Cookie の読み取りから戻ってきました (異なるブラウザは異なる値null
、undefined
、"null"
、またはを返すため"undefined"
)。
このチェックを行うためのより簡単で効率的な方法はありますか?
これ以上簡単にできるとは思いませんが、そのロジックを関数にリファクタリングすることはできます。
function isRealValue(obj)
{
return obj && obj !== 'null' && obj !== 'undefined';
}
次に、少なくともコードは次のようになります。
if (isRealValue(yourObject))
{
doSomething();
}
が true の場合、 orobject
でないことは既にわかっています (文字列値が間違っていると仮定します)。notおよび notテストが必要だと思います。null
undefined
null
undefined
もしそうなら、null
orとの単純な比較undefined
は比較すること!= null
です。
if( object != null ){
doSomething();
}
この関数は、が もでもdoSomething
ない場合にのみ実行されます。object
null
undefined
多分このように
if (typeof object !== "undefined" || object !== null)
// do something
多分このように:
var myObj = {};
var isEmptyObj = !Object.keys(myObj).length;
if(isEmptyObj) {
// true
} else {
オブジェクトが空かどうかを確認する最良の方法は、以下のようなユーティリティ関数を使用することです。
関数を作成する
function isEmpty(obj) {
for(var key in obj) {
if(obj.hasOwnProperty(key))
return false;
}
return true;
}
上記の関数を次の方法で使用します:-
したがって、空のオブジェクトがある場合は、上記の関数を使用して空かどうかを確認できます。
var myObj = {}; // Empty Object
if(isEmpty(myObj)) {
// Object is empty (Would return true in this example)
} else {
// Object is NOT empty
}