2016-07-04 2 views
2

я натыкался на этот случай сегодняКак обрабатывать пустой объект в инструкции if как false?

if ({}) { 
    // This is returned as empty object is true 
} 

поэтому необходимо выяснить способ, где {} ложна, пытался дозвониться .length на объект Перехожу к, если заявление, но это не работает.

+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

Вам нужно проверить 'Символ' тоже – ftor

Смежные вопросы