【Node.js】classのsuper

  • このエントリーをはてなブックマークに追加

classのsuper()の使い方がよく分からないから調べてみた。
super()は親クラスのconstructor()を呼び出す

環境
Windows10(64bit)
nvm(Node Version Manager)を使用する。
nvmはnodeとnpmのバージョンの切り替えができる。
node.jsはアップデートが頻繁に行われるため、バージョン管理ツールを使うと都合が良いことが多い。
「特定のプロジェクトに必要なNode.jsのバージョンを簡単にインストールして使用することができる。」や「プロジェクト毎にNode.jsのバージョンの切り替えが簡単になる。」等のメリットがある。
nvm 1.1.10
node v18.15.0
npm 9.5.0




class Animal {
    constructor(name, age) {
        this.name = name;
        this.age = age;
        console.log("Animalのconstructorを実行")
    }
}

class Dog extends Animal {
    // 追記
    constructor(name, age, breed) {
        super(name, age); // 親クラスのconstructor()を呼び出す
        this.breed = breed; // breedプロパティを新たに追加
    }
}

const dog = new Dog('太郎', 4, '柴犬');
console.log(dog.name);
console.log(dog.age);
console.log(dog.breed);

実行すると次のようになる。


c:\node\test>node test4.js
Animalのconstructorを実行
太郎
4
柴犬

c:\node\test>
  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*