# constructor-super

在构造函数中需要 super() 调用

配置文件中的 "extends": "eslint:recommended" 属性启用了该规则

派生类的构造函数必须调用 super()。非派生类的构造函数不能调用 super()。如果未观察到这一点,JavaScript 引擎将引发运行时错误。

此规则检查是否存在有效的 super() 调用。

# 规则详情

此规则旨在标记无效/丢失的 super() 调用。

此规则的错误代码示例:

/*eslint constructor-super: "error"*/
/*eslint-env es6*/

class A {
    constructor() {
        super();  // This is a SyntaxError.
    }
}

class A extends B {
    constructor() { }  // Would throw a ReferenceError.
}

// Classes which inherits from a non constructor are always problems.
class A extends null {
    constructor() {
        super();  // Would throw a TypeError.
    }
}

class A extends null {
    constructor() { }  // Would throw a ReferenceError.
}

此规则的正确代码示例:

/*eslint constructor-super: "error"*/
/*eslint-env es6*/

class A {
    constructor() { }
}

class A extends B {
    constructor() {
        super();
    }
}

# 何时不使用

如果您不想在构造函数中收到有关无效/丢失 super() 调用的通知,您可以安全地禁用此规则。

Last Updated: 5/13/2023, 8:55:38 PM