@TOC
前言
hasOwnProperty(propertyName)方法 是用来检测属性是否为对象的自有属性
object.hasOwnProperty(propertyName) // true/false
讲解
hasOwnProperty() 方法是 Object 的原型方法(也称实例方法),它定义在 Object.prototype 对象之上,所有 Object 的实例对象都会继承 hasOwnProperty() 方法。
使用实例
单层object
//是用来检测属性是否为对象的自有属性
const ace = { obj: 'ccc' }
ace.hasOwnProperty('obj') //true
多层object
hasOwnProperty() 只会检查对象的自有属性,对象原形上的属性其不会检测;但是对于原型对象本身来说,这些原型上的属性又是原型对象的自有属性,所以原形对象也可以使用hasOwnProperty()检测自己的自有属性;
const ace = {
obj: {
name:'王五'
}
}
ace.obj.hasOwnProperty('name') //true
ESLint 中使用
Object.prototype.hasOwnProperty.call(ace, 'obj')