阅读本文大概需要 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
【前端小记】是我新的话题,分享一些前端小知识点,日常工作的思考等内容。
记得把公号加星标,会第一时间收到通知。
原创不易,如果觉得有点用,希望可以随手转发或者”在看“,拜谢各位老铁。