no-class-assign
禁止重新賦值類別成員
✅ 建議
在設定檔中使用 @eslint/js
的 recommended
設定會啟用此規則
ClassDeclaration
會建立一個變數,我們可以修改這個變數。
class A { }
A = 0;
但在大多數情況下,修改是一個錯誤。
規則詳情
此規則旨在標記修改類別宣告的變數。
此規則的不正確程式碼範例
在遊樂場中開啟
/*eslint no-class-assign: "error"*/
class A { }
= 0;
在遊樂場中開啟
/*eslint no-class-assign: "error"*/
= 0;
class A { }
在遊樂場中開啟
/*eslint no-class-assign: "error"*/
class A {
b() {
= 0;
}
}
在遊樂場中開啟
/*eslint no-class-assign: "error"*/
let A = class A {
b() {
= 0;
// `let A` is shadowed by the class name.
}
}
此規則的正確程式碼範例
在遊樂場中開啟
/*eslint no-class-assign: "error"*/
let A = class A { }
A = 0; // A is a variable.
在遊樂場中開啟
/*eslint no-class-assign: "error"*/
let A = class {
b() {
A = 0; // A is a variable.
}
}
在遊樂場中開啟
/*eslint no-class-assign: 2*/
class A {
b(A) {
A = 0; // A is a parameter.
}
}
何時不該使用
如果您不想收到關於修改類別宣告變數的通知,您可以安全地停用此規則。
由 TypeScript 處理
當使用 TypeScript 時,停用此規則是安全的,因為 TypeScript 編譯器會強制執行此檢查。
版本
此規則是在 ESLint v1.0.0-rc-1 中引入的。