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 中引入。