Javascript 中的对象如何检查键是否存在?
文章标签
JavaScript
如何在js中判断key是否存在?
看到这个问题,有的朋友可能首先想到是不是该值未定义。
我高兴地写了下面的代码:
var obj = {}; if(obj[key]==未定义){ //不存在 }
但是这种写法是错误的,因为键可能存在,但值是未定义的。 : (
例如以下代码:
var obj = { 键:未定义}; obj["key"] != undefined // 返回 false,但 key 存在
操作器中的
您应该使用 in 运算符来替换之前的操作,例如:
"key" in obj // 存在则返回true
注意:如果需要检查是否不存在,必须添加括号,否则结果将不是我们期望的。
!("key" in obj) // 如果对象中不存在“key”,则为 true obj 中的“key” // 错误!相当于“obj 中为 false”
hasOwn属性方法
如果您想专门测试对象实例的属性(而不是继承的属性),请使用 hasOwnProperty:
obj.hasOwnProperty("key") // true
比较 in 和 hasOwnProperty
关于hasOwnProperty和重要的未定义方法的性能比较,可以参考这个链接。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。