2017-09-15 81 views
0

我尝试调用父类的方法,但我得到的错误:错误:调用super之外类的构造函数的

Error: call super outside of class constructor

我的例子:

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; 

回答

3

使用super.cool(val)转而呼吁超级cool方法类。 super()调用超类的构造函数。

4

你打电话不是父方法,但父母构造这不是构造之外有效的呼叫。您需要使用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(); 
+0

@zloctb。如果你的问题的答案可以帮助你,你可以接受它。 –

相关问题