在JavaScript中,类中的构造函数是必需的吗?

时间:2018-02-07 06:40:12

标签: javascript ecmascript-6

我正在阅读Mozilla documentation section of 'Class body and method definitions'中的JavaScript类。在构造函数部分下,它声明了

  

构造函数方法是一种用于创建和初始化使用类创建的对象的特殊方法。只能有一个名为" constructor"的特殊方法。在课堂上。如果类包含多个构造函数方法,则将抛出SyntaxError。   构造函数可以使用super关键字来调用超类的构造函数。

从上面的陈述中,我可以确认我们不能有多个构造函数。但它没有提到构造函数在JavaScript中的类声明/表达式中是否必需。

2 个答案:

答案 0 :(得分:13)

你应该只编写一个没有构造函数的类,看它是否有效:)

来自same docs

  

如上所述,如果未指定构造函数方法,则使用默认构造函数。对于基类,默认构造函数是:

constructor() {}
  

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

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

答案 1 :(得分:1)

否,没有必要。默认情况下,构造函数定义为:

constructor() {}

对于继承,我们使用此构造函数将超类称为:

constructor() {
    super.call()
}