Code前端首页关于Code前端联系我们

Javascript 中的对象如何检查键是否存在?

terry 2年前 (2023-09-09) 阅读数 156 #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前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门