constructor-super
Require super() calls in constructors
        ✅ Recommended
        
            The "extends": "eslint:recommended" property in a configuration file enables this rule
        
派生类的构造者必须调用 super()。
非派生类的构造器不得调用 super()。
如果不遵守这一点,JavaScript 引擎将抛出运行时错误。
此规则检查 super() 调用是否有效。
规则细节
此规则旨在标记无效/缺失的 super() 调用。
以下代码存在语法错误,因为它所在的类没有 extends 子句。
class A {
    constructor() {
        super();
    }
}
使用此规则的错误示例:
                            
                                Open in Playground
                            
/*eslint constructor-super: "error"*/
/*eslint-env es6*/
class A extends B {
    constructor() { }  // Would throw a ReferenceError.
}
// Classes which inherits from a non constructor are always problems.
class C extends null {
    constructor() {
        super();  // Would throw a TypeError.
    }
}
class D extends null {
    constructor() { }  // Would throw a ReferenceError.
}
使用此规则的正确示例:
                            
                                Open in Playground
                            
/*eslint constructor-super: "error"*/
/*eslint-env es6*/
class A {
    constructor() { }
}
class B extends C {
    constructor() {
        super();
    }
}
何时不用
如果你不想被告知构造函数中无效/缺失的 super() 调用,你可以安全地禁用这一规则。
使用 TypeScript 时,也可以安全地禁用此规则,因为 TypeScript 编译器会执行此检查(ts(2335) & ts(2377))。
Version
This rule was introduced in ESLint v0.24.0.