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