前端工程师如何判断一个对象是否有某个属性?

大家好!我是/小郑搞码事/的小郑
今天和大家分享前端工程师是如何判断一个对象是否有某个属性的 。
我平时喜欢去验证一些功能 , 包括一些非常有用的安装包 。
甚至也包括一些常用的方法 , 如:map, filter, reduce等等 。
关于包 , 今天给大家说一个关于判断对象属性有无的问题 。
日常工作中经常会有这种场景
假如有一个对象a
这个对象a有可能有name属性 , 有可能没有name属性 。
所以我们需要通过代码去判断对象a是否有name属性 , 然后跑对应的逻辑 。
怎么判断才不会报错了
1. 直接使用原始方法
hasOwnProperty
传两个参数 , 一个是对象 , 一个是需要判断的属性 。
具体这样写
Object.prototype.hasOwnProperty.call(a, prop)
a就是对象
prop就是要判断的属性
如果这个方法觉得太长 , 可以选择另一个安装包来用 。
2. has
使用及其简单
npm install has
const has = require('has')
测试一下
has({}, 'hasOwnProperty')
输出:false
has(Object.prototype, 'hasOwnProperty')
输出:true
效果一样 。

【前端工程师如何判断一个对象是否有某个属性?】


    推荐阅读