2017-07-29 137 views

回答

3

“typeof运算”不,如果属性存在,关心或不和,即使属性存在,但具有“不确定”

当值,它将返回undefined“在”将返回如果房产真的存在且具有“不确定”

值举一个例子,下面将返回要么假根据真正在您使用:

let person = { 
    name: 'John', 
    age: undefined 
} 

console.log('age' in person) 
// true 
console.log(typeof person.age !=="undefined") 
//false 
+0

乔纳斯,也许你打算检查person.age的类型,而不是年龄? – Ahmad

0

你的问题就像“哪一个是最好的”来检查对象中是否存在属性“,因此后者("bar" in foo)就是你要找的。

if("bar" in foo)的结果是“只有在foo中有'bar'属性时才会这样做”,这就是你所要求的。

你也可以去typeof foo.bar != "undefined"但它是无用的矫枉过正。