如何检查一个对象是否嵌套在另一个对象的属性中作为属性?

时间:2015-01-23 07:43:46

标签: javascript

我有一个嵌套在父对象属性中的对象。我需要找出是否存在a属性。

var o = {
 prop: {
       a: 'a',
       b: 'b' 
    }
}

以下是两种方法:

o.prop.hasOwnProperty('a'); // true

!!o.prop.a // true

两者有什么区别?还有其他选择吗?

1 个答案:

答案 0 :(得分:3)

不同之处在于,第一个示例(hasOwnProperty)确保属性不会传递到原型链中,而第二个示例将通过' a'是从原型链继承而来的。您还可以使用:

进行检查
('a' in o.prop)