2016-07-04 6 views
2

は、私はif文に渡すが、それが動作しないオブジェクトに.lengthを呼び出してみました。if文の空のオブジェクトをfalseとして扱うには?私は<code>{}</code>が偽の方法を把握する必要があるので、今日この場合渡っ</p> <pre><code>if ({}) { // This is returned as empty object is true } </code></pre> <p>を走った

+0

私はあなたが求めているのかわからないんだけど。オブジェクトにプロパティがないかどうかを調べるには、 'Object.keys'を使います。 –

+0

"空のオブジェクト"の意味を定義する必要があります。それは '自分の'キーを持っていません...? – deceze

+0

Object.keys(obj).length> 0 –

答えて

2

あなたはこれを達成するためにObject.keys()メソッドを使用することができます。 Mozillaのドキュメントから

Object.keys()方法が(違いはそのfor-in loopあるために...ループ内で提供されるものと同じ順序で、指定されたオブジェクト自身の列挙プロパティの配列を返しますプロトタイプチェーンのプロパティも列挙します)。

if (Object.keys({}).length) { 
 
    console.log('Object is not Empty'); 
 
} else { 
 
    console.log('Object is Empty'); 
 
} 
 

 
console.log(Object.keys({}).length);

1

あなたは、使用しようとすることができます。

Object.keys(obj).length === 0; 
+0

'Symbol'sもチェックする必要があります – ftor

関連する問題

 関連する問題