我有以下代码,并且我试图从基类继承。为什么代码说未定义identify()
?它不应该从基类中调用函数吗?
错误:ReferenceError:标识未定义source1.js:23:9
class TestBase {
constructor() {
this.type = "TestBase";
}
run() {
console.log("TestBase Run");
}
identify() {
console.log("Identify:" + this.type);
}
}
class DerivedBase extends TestBase {
constructor() {
super();
this.type = "DerivedBase";
}
run() {
console.log("DerivedBase Run");
identify();
}
}
window.onload = function() {
let derived = new DerivedBase();
derived.run();
}
最佳答案
您必须改为调用this.identify()
。
有关更多信息,您通常可以阅读有关classes的信息。
请注意,javascript中的类只是prototypal inheritance之上的语法糖。