如何检查对象是否在JavaScript中有密钥?

时间:2009-01-18 15:42:59

标签: javascript object

这是正确的做法?

if (myObj['key'] == undefined)

if (myObj['key'] == null)

if (myObj['key'])

2 个答案:

答案 0 :(得分:1621)

尝试JavaScript in operator

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');