如何检查一个对象是否在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');