Ответ 1
Согласно спецификации здесь и здесь super
базовые ссылки на прототип текущего this
объекта. В статических методах он ссылается на унаследованный класс. Поэтому для вызова родительского статического метода вы должны вызвать super.myMethod('some message')
. Вот пример:
class Parent {
static myMethod(msg) {
console.log('static', msg);
}
myMethod(msg) {
console.log('instance', msg);
}
}
class Child extends Parent {
static myMethod(msg) {
super.myMethod(msg);
}
myMethod(msg) {
super.myMethod(msg);
}
}
Child.myMethod(1); // static 1
var child = new Child();
child.myMethod(2); // instance 2