##前書
抽象クラス的なことがしたかったので
##呼び方
非staticメソッドからstaticメソッドを呼ぶ場合のみ呼び方が異なる
「非staticメソッドから非staticメソッド」と「staticメソッドからstaticメソッド」の呼び方は同じ
何が起きているかはなんとなく分かるけど、もっとわかりやすくならなかったものか
"use strict";
class Parent {
static yourMethod(msg){
this.hisMethod(msg);
}
myMethod(msg){
this.constructor.hisMethod(msg);
this.herMethod(msg);
}
}
class Child extends Parent {
static hisMethod(msg) {
console.log('Child static', msg);
}
herMethod(msg){
console.log('Child instance', msg);
}
}
Child.yourMethod(1);//Child static 1
const child = new Child();
child.myMethod(2);//Child static 2, Child instance 2