如何检查一个对象是否在JavaScript中有一个键?

哪个是正确的做法?

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

要么

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

要么

 if (myObj['key']) 

尝试JavaScript 中的运算符。

 if ('key' in myObj) 

和逆。

 if (!('key' in myObj)) 

小心! in运算符匹配所有对象键,包括对象原型链中的对象键。

使用myObj.hasOwnProperty('key')来检查一个对象自己的键,只有当myObj直接有key时才会返回true

 myObj.hasOwnProperty('key') 

除非有特殊的理由使用in运算符, myObj.hasOwnProperty('key')使用myObj.hasOwnProperty('key')会产生大多数代码正在查找的结果。

你应该使用hasOwnProperty 。 例如:

 myObj.hasOwnProperty('myKey');