如何检查对象是否具有属性javascript?

时间:2016-09-01 15:09:56

标签: javascript

我有这个功能:

      function ddd(object) {
        if (object.id !== null) {
            //do something...
        } 
    }

但是我收到了这个错误:

Cannot read property 'id' of null

如何检查对象是否具有属性并检查属性值?

1 个答案:

答案 0 :(得分:13)

hasOwnProperty是您正在寻找的方法

if (object.hasOwnProperty('id')) {
    // do stuff
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty

作为替代方案,您可以执行以下操作:

if (typeof object.id !== 'undefined') {
    // note that the variable is defined, but could still be 'null'
}

在这种特殊情况下,您看到的错误表明object为空,而不是id,因此要警惕这种情况。

为了测试像这样的各种东西的笨拙深层嵌套属性,我使用brototype