千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:长沙千锋IT培训  >  技术干货  >  判断对象是否具有属性的5种方法

判断对象是否具有属性的5种方法

来源:千锋教育
发布人:qyf
时间: 2023-02-01 18:05:59

  在编程开发时,我们经常需要判断一个对象是否具有某种属性。在这里,我们列出 了5种判断对象属性的方法。

  1、in Operator

  如果指定属性在指定对象或其原型链中,则 in Operator 返回 true。

  用法:

图片 1

  但是 in Operator有个缺点,那就是:如果属性来自对象的原型,它仍然会返回 true。

图片 2

  2、Reflect.has() 方法

  Reflect.has 方法允许我们检查属性是否在对象中。它像 in Operator 一样作为函数工作。

  用法:

图片 3

  3、 hasOwnProperty() 方法

  hasOwnProperty() 方法返回一个布尔值,指示对象是否具有指定的属性作为它自己的属性(而不是继承它)。

  它可以正确地区分对象本身的属性和其原型的属性。

  用法:

图片 4

  但是这种写法有个缺点,就是如果对象是用Object.create(null)创建的话,那么就不能用这个方法了。

图片 5

  4、Object.prototype.hasOwnProperty() 方法

  解决前面的问题很简单,我们只需要使用Object.prototype.hasOwnProperty。该方法是直接调用内置的有效用函数,跳过原型链。

  5、Object.hasOwn() 方法

  由于前面的几种方式都不优雅,ES2022有一个新的提议:Object.hasOwn

  如果指定的对象具有指定的属性作为其自己的属性,则 Object.hasOwn() 静态方法返回 true。如果属性被继承或不存在,则该方法返回 false。

  用法:

  图片 6

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

bootstrap是什么?有什么用处

2023-04-20

自旋锁原理是什么?自旋锁有什么优缺点

2023-03-17

Kafka的leader选举机制是什么

2023-03-03

最新文章NEW

多种java日志框架你真的了解吗

2023-03-17

如何查看git用户名和密码

2023-03-03

2分钟了解BFC

2023-02-06

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>