在回顾Tania Rascia出色的tutorial: Understanding Classes in JavaScript时,我在探讨如何extend a class时遇到了此错误。
class Hero {
constructor(name, level) {
this.name = name
this.level = level
}
// Adding a method to the constructor
greet() {
return `${this.name} says hello.`
}
}
// Creating a new constructor from the parent
function Mage(name, level, spell) {
// Chain constructor with call
Hero.call(this, name, level)
this.spell = spell
}
VM3527:4未捕获的TypeError:无法调用类构造函数Hero 没有“新” 在新的法师(:4:8) 在:1:15
使用没有关键字class
的功能时,此将正常工作。
function Hero(name, level) {
this.name = name;
this.level = level;
}
答案 0 :(得分:0)
由于错误消息是对自身的描述,因此,如果不尝试创建新的构造函数实例,就无法调用该构造函数。
var myHeor = new Hero(name, level);
无需创建实例即可调用的唯一方法是static方法