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
相关推荐
心.c10 分钟前
深拷贝浅拷贝
开发语言·前端·javascript·ecmascript
IT_陈寒39 分钟前
Vue 3.4性能优化实战:5个鲜为人知的Composition API技巧让打包体积减少40%
前端·人工智能·后端
前端九哥1 小时前
💻【急招!27届前端实习生】广州4399实习太幸福了!江景+三餐+健身房全都有😭
前端·面试·招聘
咖啡の猫1 小时前
Vue全局事件总线
前端·javascript·vue.js
Lovereo1 小时前
我的目标检测性能优化之路:预算不够、GPU 没有、但性能我得要
前端
T___T1 小时前
JavaScript 变量声明详解:var、let、const 的核心差异
javascript·面试
蒙娜丽宁1 小时前
Rust 与 WebAssembly:构建高效前端应用的全流程复盘
前端·rust·wasm
这儿有一堆花1 小时前
使用 Actix-web 开发高性能 Web 服务
前端·数据库
豆苗学前端1 小时前
10分钟带你入门websocket,并实现一个在线多人聊天室
前端·javascript·后端
白水清风1 小时前
Vue3之渲染器
前端·vue.js·面试