eslint/no-class-assign 正しさ
何をするか
クラス変数の再代入を禁止します。
このルールは TypeScript コードでは無効化できます。TypeScript コンパイラがこのチェックを強制するためです。
なぜ問題なのか
ClassDeclaration は再代入可能な変数を作成しますが、ほとんどの場合、再代入は誤りです。
例
このルールに違反するコードの例:
javascript
class A {}
A = 0;javascript
A = 0;
class A {}javascript
class A {
b() {
A = 0;
}
}javascript
let A = class A {
b() {
A = 0;
// `let A` はクラス名によってシャドーされています。
}
};このルールに準拠するコードの例:
javascript
let A = class A {};
A = 0; // A は変数です。javascript
let A = class {
b() {
A = 0; // A は変数です。
}
};javascript
class A {
b(A) {
A = 0; // A はパラメータです。
}
}使用方法
設定ファイルまたは CLI でこのルールを有効化するには、次のように使用します:
json
{
"rules": {
"no-class-assign": "error"
}
}bash
oxlint --deny no-class-assign