// ПОЧЕМУ super.model ЗДЕСЬ undefined
Потому что Model.prototype не содержит свойства model
Пример:
es2015:
class A {
constructor() {
// ...
}
method() {
// ...
}
static sMethod() {
// ...
}
}
class B extends A {
constructor(x, y) {
super(x);
super.method(y);
}
}
То же самое, на
es5:
function A() {
if(!(this instanceof A)) {
throw new Error('Class constructor A cannot be invoked without \'new\'');
}
// ...
}
A.prototype.constructor = A;
A.prototype.method = function method() {
// ...
};
A.sMethod = function sMethod() {
// ...
};
function B(x, y) {
if(!(this instanceof B)) {
throw new Error('Class constructor B cannot be invoked without \'new\'');
}
A.call(this, x);
A.prototype.method.call(this, y);
}
B.prototype = Object.create(A.prototype);
B.prototype.constructor = B;
B.sMethod = A.sMethod; //static методы тоже наследуются