首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Javascript中对象如何检查key(键)是否存在

Javascript中对象如何检查key(键)是否存在

原创
作者头像
IT工作者
发布2022-02-09 10:12:18
发布2022-02-09 10:12:18
30.4K00
代码可运行
举报
文章被收录于专栏:程序技术知识程序技术知识
运行总次数:0
代码可运行

js中判断键是否存在?

看到这个问题,有的小伙伴可能第一个想法就是判断值是否为undefined。

兴兴冲冲地写下如下代码:

代码语言:javascript
代码运行次数:0
运行
复制
var obj = {};
if(obj[key]==undefined){
//不存在
}

但是这种写法是错误的,因为可能键是存在的,但是值为undefined。: (

例如以下代码:

代码语言:javascript
代码运行次数:0
运行
复制
var obj = { key: undefined };
obj["key"] != undefined // 返回false,但是键是存在的

 in操作符

你应该使用in操作符来替换之前的操作,例:

代码语言:javascript
代码运行次数:0
运行
复制
"key" in obj // 存在时返回true

注:   如果需要检查不存在,需要添加括号,否则结果将不是我们预想的了。

代码语言:javascript
代码运行次数:0
运行
复制
!("key" in obj) // true if "key" doesn't exist in object
!"key" in obj   // ERROR!  Equivalent to "false in obj"

hasOwnProperty方法

如果要特别测试对象实例的属性(而不是继承的属性),请使用hasOwnProperty:

代码语言:javascript
代码运行次数:0
运行
复制
obj.hasOwnProperty("key") // true

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  in操作符
  • hasOwnProperty方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档