说我有对象testObject = {a: undefined}
。如果我然后console.log(testObject.a)
,我会得到未定义。但是,如果我console.log(testObject.b)
不存在,也会发生同样的情况。 JavaScript中是否有任何方法可以区分a
和b
?我主要是出于好奇,我没有用例。
答案 0 :(得分:3)
在使用in
运算符
if(a in testObject) {
//yes .. now check whether it is undefined or not
}
答案 1 :(得分:3)
hasOwnProperty()
方法返回一个布尔值,指示对象是否具有指定的属性作为自己的(不是继承的)属性。
在特定情况下 -
testObject = {a: undefined};
testObject.hasOwnProperty('a') //true
testObject.hasOwnProperty('b') //false
答案 2 :(得分:2)
testObject.hasOwnProperty('a')
请注意,这仅适用于您展示的对象;原型的继承属性不会通过此测试(这是hasOwnProperty
)。