JavaScriptオブジェクトのプロトタイプ
すべてのJavaScriptオブジェクトは、プロトタイプからプロパティとメソッドを継承します。
前の章では、オブジェクトコンストラクターの使用方法を学びました。
例
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
const myFather = new Person("John", "Doe", 50, "blue");
const myMother = new Person("Sally", "Rally", 48, "green");
また、既存のオブジェクトコンストラクターに新しいプロパティを追加できないこともわかりました。
コンストラクターに新しいプロパティを追加するには、それをコンストラクター関数に追加する必要があります。
例
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.nationality = "English";
}
プロトタイプ継承
すべてのJavaScriptオブジェクトは、プロトタイプからプロパティとメソッドを継承します。
Date
オブジェクトの継承元Date.prototype
Array
オブジェクトの継承元Array.prototype
Person
オブジェクトの継承元Person.prototype
はObject.prototype
プロトタイプ継承チェーンの最上位にあります。
Date
オブジェクト、Array
オブジェクト、およびPerson
ジェクトはから継承します。Object.prototype
オブジェクトへのプロパティとメソッドの追加
特定のタイプの既存のすべてのオブジェクトに新しいプロパティ(またはメソッド)を追加したい場合があります。
オブジェクトコンストラクターに新しいプロパティ(またはメソッド)を追加したい場合があります。
プロトタイププロパティの使用
JavaScriptprototype
プロパティを使用すると、新しいプロパティをオブジェクトコンストラクターに追加できます。
例
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";
JavaScriptprototype
プロパティを使用すると、オブジェクトコンストラクターに新しいメソッドを追加することもできます。
例
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Person.prototype.name = function() {
return this.firstName + " " + this.lastName;
};
独自のプロトタイプのみを変更してください。標準 JavaScriptオブジェクトのプロトタイプは決して変更しないでください。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。