js判断对象是否存在某个键值

方法一 in 操作符

使用方法:'XXX' in obj(对象),结果返回布尔值 true / false

javascript 复制代码
const obj = { name:'张三', sex:'男' }

'name' in obj  // true
'test' in obj  // false

方法二 hasOwnProperty方法

**使用方法:obj.hasOwnProperty(XXX),结果返回布尔值 true / false(**不包括原型链上的属性 )

javascript 复制代码
const obj = { name:'张三', sex:'男' }

obj.hasOwnProperty('name')  // true
obj.hasOwnProperty('test')  // false

方法三 直接判断

使用方法:obj.xxx !== undefined,结果返回布尔值 true / false

javascript 复制代码
const obj = { name:'张三', sex:'男' }

obj.name !== undefined // true
obj.test !== undefined // false

方法四 Object.keys()

使用方法:使用 Object.keys() 方法将对象转换为 数组格式(该方法只会拿到对象的键值key)

javascript 复制代码
const obj = { name:'张三', sex:'男' }
let newArr = Object.keys(obj)  // ['name', 'sex']

newArr.includes('name') // true
newArr.includes('test') // false
 

方法五 Reflect.has()

使用方法:Reflect.has(obj(对象), keyName(XXX)),结果返回布尔值 true / false

javascript 复制代码
const obj = { name:'张三', sex:'男' }

Reflect.has(obj, 'name')  // true
Reflect.has(obj, 'test')  // false
相关推荐
paopaokaka_luck8 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
仰望.8 小时前
vue 表格组件 vxe-table 树表格懒加载支持拖拽排序的详细用法
前端·javascript·vue.js·vxe-table
前端 贾公子8 小时前
vite-plugin-uni-manifest 升级指南
前端
小码哥_常8 小时前
iPhone 用户传了张 HEIC,我的前端崩了
前端
小码哥_常8 小时前
你发的原图可能暴露你家地址——聊聊图片 EXIF 隐私
前端
java1234_小锋8 小时前
【技术专题】CSS3 网页技术 - CSS3 优先级
前端·css·css3
鸿蒙开发10 小时前
共享 Schema 与 SchemaFactory
前端·后端·harmonyos
屏什么录10 小时前
录屏超过两小时就卡顿崩盘?从参数调优到代码实现,一文彻底搞定长时间录屏
前端·音视频开发
计算机魔术师10 小时前
950亿怎么拆:Meta给AI基建配的三档弹药
前端
碳基生物猛吃膳食纤维10 小时前
结合DEEPSEEK和CHATGPT弄了个小脚本,批量检查商品主图
前端