【前端小记】JavaScript 如何判断一个对象中是否有某个属性?

阅读本文大概需要 2 分钟。

今天讲讲,JavaScript 如何判断一个对象中是否有某个属性?

我总结了5个方法:

方法1:

if(Obj[a]) {}

缺点:对于参数值为 undefined 和 0 的无效。

方法2:

if(a in Obj) {}

相比于方法1,如果你只是将一个属性的值赋值为 undefined 或者 0,而没有使用 delete 运算符删除它,则 in 运算仍然会返回true。

方法3:

Object.keys(obj).includes('a')

方法4:

静态方法 Reflect.has() 作用与 in 操作符 相同。

Reflect.has(obj, 'a')

参考:Reflect-MDN[1]

方法5: 使用对象的 hasOwnProperty 方法

obj.hasOwnProperty('a')
引用链接

[1] Reflect-MDN: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Reflect


【前端小记】是我新的话题,分享一些前端小知识点,日常工作的思考等内容。

记得把公号加星标,会第一时间收到通知。

原创不易,如果觉得有点用,希望可以随手转发或者”在看“,拜谢各位老铁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值