ecmascript 6-Javascript中的默认构造函数

ecmascript 6 - Default constructor in Javascript

本文关键字:默认 构造函数 6-Javascript ecmascript      更新时间:2023-09-26

在MDN中,有人提到,如果我们不指定构造函数方法,则使用默认构造函数。

对于基类,默认构造函数是:

constructor() {}

对于派生类,默认构造函数为:

constructor(...args) {
  super(...args);
}

为什么派生类默认构造函数有rest参数(…args)而基类默认构造函数没有?

在这种情况下,..args似乎是多余的,但您应该考虑基对象不是Object的情况。在这种情况下,用参数调用超级构造函数是完全合理的。

因此,让我们假设存在类ABA有明确定义的构造函数,B没有,但AB的超类。在这种情况下,如果您调用new B(myArg),那么调用Aconstructor是合乎逻辑的。