考虑以下代码
Instant
Long
中的const A = class {
constructor(...args) {
A.prototype.constructor.apply(this, args);
}
};
A.prototype.constructor = function(name) {
this.name = name;
};
A.prototype.print = function() {
console.log(this.name);
};
const B = class extends A {};
B.prototype.print = function() {
super.print();
console.log('In B!');
};
行抛出语法错误super.print()
。为什么呢?
为什么我不能像任何其他语言一样称呼这个班级?这样做的正确方法是什么?
答案 0 :(得分:1)
在JavaScript中,要调用基类'实现,你可以通过名称明确地称它,即:
B.prototype.print = function() {
A.prototype.print.call(this);
console.log('In B!');
};