当我试图在javascript中从构造函数调用静态方法时,它表示该方法不存在。
class TestClass {
constructor(){
this.staticMethod();
}
static staticMethod() {
}
}
如果我尝试从构造函数调用普通方法,这可以正常工作。如果静态方法属于类而不是实例,为什么它不允许它们从构造函数调用?
答案 0 :(得分:18)
this.constructor.staticMethod()
可以用来避免直接引用类(对类继承和粘贴代码特别有用)。
答案 1 :(得分:11)
你必须这样称呼它:
TestClass.staticMethod()