我有这个功能:
function ddd(object) {
if (object.id !== null) {
//do something...
}
}
但是我收到了这个错误:
Cannot read property 'id' of null
如何检查对象是否具有属性并检查属性值?
答案 0 :(得分:13)
hasOwnProperty
是您正在寻找的方法
if (object.hasOwnProperty('id')) {
// do stuff
}
作为替代方案,您可以执行以下操作:
if (typeof object.id !== 'undefined') {
// note that the variable is defined, but could still be 'null'
}
在这种特殊情况下,您看到的错误表明object
为空,而不是id
,因此要警惕这种情况。
为了测试像这样的各种东西的笨拙深层嵌套属性,我使用brototype。