Object.prototype.hasOwnProperty
方法用于检测指定对象自有 Properties 中是否具有指定的 Property。
语法:
obj.hasOwnProperty(v);
类型声明:
declare type PropertyKey = string | number | symbol;interface Object {hasOwnProperty(v: PropertyKey): boolean;}
参数说明:
参数 | 说明 | 类型 |
---|---|---|
v | 需要检测的 Property 字符串名称或者 Symbol | string/symbol |
返回值:
返回该对象是否含有指定 Property 的 Boolean 值。
所有继承了 Object 的对象都会继承到 hasOwnProperty
方法。
这个方法可以用来检测一个对象是否含有特定的自身属性;和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性。
const foo = new Object();foo.a = 'exist';function change() {foo.b = foo.a;delete foo.a;}foo.hasOwnProperty('a');// truechange();foo.hasOwnProperty('b');// false
const foo = new Object();foo.a = 'Hello world!';foo.hasOwnProperty('a');// truefoo.hasOwnProperty('toString');// falsefoo.hasOwnProperty('hasOwnProperty');// false