Подскажите пожалуйста, имеются два конструктора, в прототипах которых определены методы calc. Вопрос заключается вот в чем: в прототипном методе calc (ClassB.prototype.calc) для переопределения метода вызывается метод родителя calc (ClassA.prototype.calc.apply(this)), как можно вызвать этот метод не зная имени родителя?
function ClassA(a, b) {
this.a = a;
this.b = b;
this.c = 1;
return this.a + this.b + this.c;
}
ClassA.prototype.calc = function() {
return this.a + this.b + this.c;
}
let class1 = new ClassA(2, 2);
function ClassB(d, f) {
this.d = d;
this.e = f;
this.f = 10;
ClassA.apply(this, arguments);
}
ClassB.prototype = Object.create(ClassA.prototype);
ClassB.prototype.constructor = ClassB;
ClassB.prototype.calc = function() {
var jas = ClassA.prototype.calc.apply(this);
return jas + this.d + this.e + this.f;
}
let class2 = new ClassB(20, 20);
console.log(class1.calc());
console.log(class2.calc());