版本

constructor-super

在建構函式中要求 super() 呼叫

建議

設定檔中使用來自 @eslint/jsrecommended 設定會啟用此規則

衍生類別的建構函式必須呼叫 super()。非衍生類別的建構函式不得呼叫 super()。如果沒有遵守此規則,JavaScript 引擎會引發執行階段錯誤。

此規則會檢查是否有有效的 super() 呼叫。

規則詳情

此規則旨在標記無效/遺失的 super() 呼叫。

這是一個語法錯誤,因為類別中沒有 extends 子句

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

此規則的錯誤程式碼範例

在遊樂場中開啟
/*eslint constructor-super: "error"*/

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.
}

此規則的正確程式碼範例

在遊樂場中開啟
/*eslint constructor-super: "error"*/

class A {
    constructor() { }
}

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

何時不該使用

如果您不想收到關於建構函式中無效/遺失的 super() 呼叫的通知,您可以安全地停用此規則。

由 TypeScript 處理

當使用 TypeScript 時,停用此規則是安全的,因為 TypeScript 的編譯器會強制執行此檢查。

版本

此規則是在 ESLint v0.24.0 中引入的。

資源

變更語言