我有一个嵌套在父对象属性中的对象。我需要找出是否存在a
属性。
var o = {
prop: {
a: 'a',
b: 'b'
}
}
以下是两种方法:
o.prop.hasOwnProperty('a'); // true
!!o.prop.a // true
两者有什么区别?还有其他选择吗?
答案 0 :(得分:3)
不同之处在于,第一个示例(hasOwnProperty
)确保属性不会传递到原型链中,而第二个示例将通过' a'是从原型链继承而来的。您还可以使用:
('a' in o.prop)