<返回更多

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

2021-01-27    
加入收藏

大家好!我是/小郑搞码事/的小郑

今天和大家分享前端工程师是如何判断一个对象是否有某个属性的。

我平时喜欢去验证一些功能,包括一些非常有用的安装包。

甚至也包括一些常用的方法,如: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

效果一样。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>