[英]JavaScript : Inherit constructor properties from Parent Class
假设我有一个基类,并且我想从构造函数继承属性。
注意:这是一个示例代码。 它不是为了工作或任何东西,只是为了证明我的问题
底座 Class
class BaseClass {
constructor(a, b) {
this.a = a;
this.b = b;
}
/* SOME CLASS METHODS */ }
我的课
class Myclass extends BaseClass {
constructor() {
super();
};
/* SOME CLASS METHODS */ }
我的问题
让 test = Myclass('dog', 'cat');
但是,这似乎不起作用。 为什么 Myclass-constructor 不初始化 BaseClass 构造函数? 当我查看this.a和this.b的调试器时,这个值是未定义的。
您需要将 a 和 b 值传递给 super 方法
像这儿:
class Myclass extends BaseClass {
constructor(a, b) {
super(a, b);
};
constructor() {
super();
};
您的孩子 class 正在覆盖构造函数,不接受任何 arguments,并且没有将 arguments 传递给父构造函数( super()
),因此父构造函数中的所有参数都是undefined
的。 您的子构造函数需要接受相同或更多参数,和/或将默认 arguments 提供给super()
。
在这种特殊情况下,子构造函数不做任何事情,因此也可以完全省略。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.