📝
【JavaScript】super()の使い方
結論
継承した親クラスのconstructor()を
小クラスでオーバーライド(上書き)するときや、プロパティを追加するときに使う。
例
Animalクラスという親クラスがあったとする。
sample.js
class Animal {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
このクラスを継承して、Catクラスを作るとする。
sample.js
class Animal {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
// 追記
class Cat extends Animal {
}
親クラスであるAnimalクラスのconstructor()に
品種(breed)を追加したいとする。
- 小クラスのconstructor()内で
super()を使用し親クラスを呼び出す。 - 追加したいプロパティを記入する。
sample.js
class Animal {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
class Cat extends Animal {
// 追記
constructor(name, age, breed) {
super(name, age); // 親クラスのconstructor()を呼び出す
this.breed = breed; // breedプロパティを新たに追加
}
}
const cat = new Cat('タマ', 4, 'スコティッシュフォールド');
console.log(cat.breed);
実行結果
"スコティッシュフォールド"
Discussion