在本教程中,您将了解 JavaScript 对象的自身属性 Own Properties。在 JavaScript ,对象是属性的集合,每个属性都是一个键值对。

下面的示例使用对象初始化器创建 person 对象,person 对象有两个属性:firstNamelastName。:

const person = {
    firstName: 'John',
    lastName: 'Doe'
};

JavaScript 使用原型继承。因此,对象的属性可以是自己的,也可以是继承的。直接在对象定义的属性是自己的,而对象从其原型接收的属性是继承的

下面创建 employee 对象,它继承 person 对象:

const employee = Object.create(person, {
    job: {
        value: 'JS Developer',
        enumerable: true
    }
});

employee 对象具有自己的属性 job,并从原型对象 person 继承 firstNamelastName 属性。

如果属性是自己的,则 hasOwnProperty() 方法返回 true。例如:

console.log(employee.hasOwnProperty('job')); // => true
console.log(employee.hasOwnProperty('firstName')); // => false
console.log(employee.hasOwnProperty('lastName')); // => false
console.log(employee.hasOwnProperty('ssn')); // => false

结论

  • 直接在对象定义的属性是自身属性。
  • obj.hasOwnProperty() 方法确定属性是否是自身属性。