这是正确的做法?
if (myObj['key'] == undefined)
或
if (myObj['key'] == null)
或
if (myObj['key'])
答案 0 :(得分:1621)
if ('key' in myObj)
反过来。
if (!('key' in myObj))
小心! in
运算符匹配所有对象键,包括对象原型链中的对象键。
使用myObj.hasOwnProperty('key')
检查对象自己的密钥,只有在true
key
可用时才会返回myObj
:
myObj.hasOwnProperty('key')
除非您有特定原因要使用in
运算符,否则使用myObj.hasOwnProperty('key')
会生成大多数代码正在查找的结果。
答案 1 :(得分:404)
您应该使用hasOwnProperty
。例如:
myObj.hasOwnProperty('myKey');