JavaScriptにおけるオブジェクトの独自プロパティの理解

概要: このチュートリアルでは、JavaScriptにおけるオブジェクトの独自プロパティについて学習します。

JavaScriptでは、オブジェクトプロパティの集合であり、各プロパティはキーと値のペアです。

この例では、オブジェクトイニシャライザを使用してpersonという新しいオブジェクトを作成します。

const person = {
    firstName: 'John',
    lastName: 'Doe'
};
Code language: JavaScript (javascript)

personオブジェクトには、firstNamelastNameの2つのプロパティがあります。

JavaScriptはプロトタイプ継承を使用します。そのため、オブジェクトのプロパティは独自プロパティまたは継承プロパティのいずれかです。

オブジェクトに直接定義されているプロパティは独自プロパティであり、プロトタイプからオブジェクトが受け継いだプロパティは継承プロパティです。

以下は、personオブジェクトを継承するemployeeというオブジェクトを作成する例です。

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

employeeオブジェクトには独自のjobプロパティがあり、firstNamelastNameプロパティはプロトタイプpersonから継承しています。

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
Code language: JavaScript (javascript)

概要

  • オブジェクトに直接定義されているプロパティは、独自プロパティです。
  • obj.hasOwnProperty()メソッドは、プロパティが独自プロパティかどうかを判定します。
このチュートリアルは役に立ちましたか?