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