全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

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

来源:千锋教育
发布人:qyf
2023-02-01

推荐

在线提问>>

  在编程开发时,我们经常需要判断一个对象是否具有某种属性。在这里,我们列出 了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

相关文章

bootstrap是什么?有什么用处

短视频的涨粉套路有哪些

短视频播放量怎么赚钱

新手做短视频一定要知道的

json格式是什么意思

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取