首页 > 其他分享 >Object — hasOwnProperty

Object — hasOwnProperty

时间:2024-02-22 21:22:39浏览次数:20  
标签:obj 对象 Object hasOwnProperty false 属性

obj.hasOwnProperty(key) 是 JavaScript 中用于检查对象是否具有指定属性(不包括原型链上的属性)的方法。

 

hasOwnProperty() 方法是从 Object.prototype 继承而来的,在每个对象实例中都可以调用。它接受一个参数 key,表示要检查的属性名,如果对象自身包含具有指定名称的属性,则返回 true,否则返回 false

1 let obj = {
2     name : 'red',
3     age : '18'
4 }
5 console.log(obj.hasOwnProperty('name')) //true
6 console.log(obj.hasOwnProperty('gender')) //false

hasOwnProperty() 方法的原理:

1.首先,它检查调用该方法的对象是否包含指定的属性名称作为自身属性。

2.如果对象自身包含指定属性,则返回 true;如果对象没有该属性或该属性是继承而来的,则返回 false

 

需要注意的是,hasOwnProperty() 方法只检查对象自身的属性,不会检查原型链上的属性。这意味着如果属性是通过原型链继承而来的,hasOwnProperty() 方法会返回 false。因此,在判断一个对象是否包含某个属性时,通常先使用 hasOwnProperty() 方法来确定属性是否是对象自身的属性,然后再根据需要进一步处理。

标签:obj,对象,Object,hasOwnProperty,false,属性
From: https://www.cnblogs.com/qinlinkun/p/18028239

相关文章

  • Object — Object.keys()
    Object.keys()是JavaScript中的一个内置方法,用于返回一个由指定对象的所有可枚举属性的键组成的数组。Object.keys()方法会遍历目标对象的可枚举属性(不包括继承的属性),并返回一个数组,该数组包含了这些属性的键。1//(1)数组Array对象(返回索引值)2letarr=['1','2','3']......
  • Object — Object.is()
    Object.is()方法通常用于需要进行严格相等比较的场景,特别是在处理一些特殊值时更为实用。以下是一些适合使用Object.is()的场景:1//(1)比较字符串2letstr='1'3letstr1='1'45console.log(Object.is(str,str1))//true6console.log(Object.is('str','st......
  • Vue学习笔记9--Object.defineProperty()
    Object.defineProperty()语法说明Object.defineProperty()的作用就是直接在一个对象上定义一个新属性,或者修改一个已经存在的属性obj需要定义属性的当前对象Object.defineProperty(obj,prop,desc)==》obj需要定义属性的当前对象prop当前需要定义的属性名desc属性描述......
  • Object方法 — Object.entries()
    Object方法—Object.entries()Object.entries()方法是JavaScript中的一个静态方法,用于返回一个给定对象自身可枚举属性的键值对数组。该方法接受一个对象作为参数,并将该对象的可枚举属性转换为一个二维数组,其中每个子数组包含两个元素:属性的键和属性的值。返回的数组中的......
  • TCL学习:First Class Tcl Objects and Relationships
    前言:最近需要移植vivado工程到新板卡上。之前只学了基础TCL语法,复杂一点的指令看博客看文档对陌生名词挠头。才发现官方文档VivadoDesignSuiteTclCommandReferenceGuide(UG835)第一章的FirstClassTclObjectsandRelationships对Vivado用到的TCL的指令做了很好的知识铺......
  • HarmonyOS—@Observed装饰器和@ObjectLink嵌套类对象属性变化
    @Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化概述@ObjectLink和@Observed类装饰器用于在涉及嵌套对象或数组的场景中进行双向数据同步:被@Observed装饰的类,可以被观察到属性的变化;子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和父组件......
  • kotlin--Object关键字
    1.匿名内部类Object可以实现,继承一个抽象类的同时,实现多个接口。interfaceA{funfunA()}interfaceB{funfunB()}abstractclassMan{abstractfunfindMan()}funmain(){//这个匿名内部类,在继承了Man类的同时,还实现了A、B两个接口......
  • Qt error: LNK2001: 无法解析的外部符号 “public: virtual struct QMetaObject const
    简介  通过QtCreator开发一个动态库,最开始希望只是一个简单的纯C++的动态库,就没有继承QObject,也没有写Q_OBJECT宏。编译时就会报:LNK2001:无法解析的外部符号public:virtualstructQMetaObjectconst。绕了不少弯子,终于解决了,把原因分析进行个整理。面试有个问题:Qt信号槽机......
  • Qt error: LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const
    这个问题总是在编译的不经意间出现,而且一出一大片,很烦。作为新手出了问题可定要在网上找答案,但是总是发现别人的解决方法解决不了自己的问题,唉~在这个问题上大家大家提出的大多数是.h.cpp文件不对应、.h中声明的文件在.cpp文件中没有实现、函数声明在了.cpp文件中等等一......
  • Unity 2022.3.20f1新功能,异步实例化预制体Object.InstantiateAsync
    今天查看Unity2022.3.20f1更新日志,发现新增了个异步实例化的功能,这个功能解决了Unity历史上实例化预制体卡顿的痛点,简直不要太爽。具体的API文档请点击跳转。做了个简单的实例化测试,实例化500*500个Cube,耗时9.2s。实例化过程之间不会卡顿,可以做其他事情,即便是在重度游戏加载场......