みかづきブログ・カスタム

基本的にはちょちょいのほいです。

super経由で親のメソッドを呼び出す 💻

これまで、superの使い道は、

class Child extends Parent {
  constructor(params) {
    super(params);
  }
}

という感じで、constructor内で実行することだけだと思っていたのですが、
いまさらながら、super.prop および super[expr] 式にて、親のメソッドを呼び出せることを知りました。

developer.mozilla.org

これを利用すれば、

class Parent {
  say() {
    console.log('Ya-Ha-!');
  }
}

class Child extends Parent {
  constructor() {
    super();
  }
  
  say() {
    super.say();
    console.log('Yo-Ho-!');
  }
}

const child = new Child;

child.say(); // => Ya-Ha-! Yo-Ho-!

という感じで、子クラスから親クラスのメソッドを叩くことができます。
非常に便利です。