constructor-super
在建構函式中要求 super()
呼叫
✅ 建議
在設定檔中使用來自 @eslint/js
的 recommended
設定會啟用此規則
衍生類別的建構函式必須呼叫 super()
。非衍生類別的建構函式不得呼叫 super()
。如果沒有遵守此規則,JavaScript 引擎會引發執行階段錯誤。
此規則會檢查是否有有效的 super()
呼叫。
規則詳情
此規則旨在標記無效/遺失的 super()
呼叫。
這是一個語法錯誤,因為類別中沒有 extends
子句
class A {
constructor() {
super();
}
}
此規則的錯誤程式碼範例
在遊樂場中開啟
/*eslint constructor-super: "error"*/
class A extends B {
// Would throw a ReferenceError.
}
// Classes which inherits from a non constructor are always problems.
class C extends null {
constructor() {
; // Would throw a TypeError.
}
}
class D extends null {
// 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 中引入的。