如果我有一些对象具有财产是可能会或可能不会存在,有没有检查其生存的首选方法是什么?检查对象属性的首选方法是`null`或`undefined`
// Good?
(someObj.property !== undefined && someObj.property !== null)
// Better?
(typeof someObj.property !== 'undefined')
// Best?
(someObj.property != null)
*最后!=
运营商on purpose:
全等检查(
===
)必须有利于抽象的平等检查(==
)的使用。唯一的例外是通过null
检查undefined
和null
。在逻辑上遇到null
或undefined
之一的情况下,如未初始化的变量,也可以使用== null
。
第一个和最后一个是等价的。中间的不会检查'null'值。首先它取决于你想要的东西。那么它取决于你想输入多少;)是否使用'!= null'是个人偏好。 –
if(someObj.property)除了布尔值之外的所有东西吗? –
@Jonasw:空串,'0','NaN'。 –