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

标签 javascript

<分区>

我有这个功能:

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

但是我得到这个错误:

Cannot read property 'id' of null

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

最佳答案

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 为 null,而不是 id,因此请警惕这种情况。

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

关于javascript - 如何检查对象是否具有属性javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39275193/

相关文章:

JavaScript - addEventListener "click"不起作用

javascript - 试图获取等于按钮以在计算器中正常运行

页面收到 AJAX 响应后 JavaScript 不再执行

javascript - 拦截HTTP请求和响应时,什么时候调用函数request、requestError、response、responseError?

javascript - 仅在 IE9 上存在的 ajax 调用中的访问被拒绝

javascript - 我应该如何解释这个三元运算符?

javascript - 当您导航到其他页面时显示自定义警告框,如 facebook

javascript - 从本地存储加载样式表时如何防止渲染 css?

javascript - 更改 Google map API 语言

javascript - Algolia 按嵌套属性 JavaScript 过滤