我尝试调用父方法,但出现错误:



我的例子:

class xo{
    cool(x){
        console.log(`parent init${x}`)
    }
}
class boo extends xo{
    cool(val){
        super(val);
        console.log(`child init${x}`)
    }
}

x = new boo;

最佳答案

您调用的不是父 方法 ,而是父 构造函数 ,它不是构造函数之外的有效调用。您需要使用 super.cool(val); 而不是 super(val)

class xo{

    cool(x) {
        console.log(`parent init${x}`)
    }

}

class boo extends xo {

    cool(val) {
        super.cool(val);
        console.log(`child init${x}`)
    }

}

x = new boo();

关于javascript - 错误 : call super outside of class constructor,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46234103/

10-15 08:41