2017-06-06 76 views
0

如果我有一些对象具有财产可能会或可能不会存在,有没有检查其生存的首选方法是什么?检查对象属性的首选方法是`null`或`undefined`

// Good? 
(someObj.property !== undefined && someObj.property !== null) 

// Better? 
(typeof someObj.property !== 'undefined') 

// Best? 
(someObj.property != null) 

*最后!=运营商on purpose:

全等检查(===)必须有利于抽象的平等检查(==)的使用。唯一的例外是通过null检查undefinednull。在逻辑上遇到nullundefined之一的情况下,如未初始化的变量,也可以使用== null

+0

第一个和最后一个是等价的。中间的不会检查'null'值。首先它取决于你想要的东西。那么它取决于你想输入多少;)是否使用'!= null'是个人偏好。 –

+0

if(someObj.property)除了布尔值之外的所有东西吗? –

+0

@Jonasw:空串,'0','NaN'。 –

回答

相关问题