eslint/no-dupe-class-members 正しさ
何をするか
クラスメンバの重複を禁止します。
このルールは、TypeScript コードでは無効にできます。TypeScript コンパイラがこのチェックを強制しているためです。
なぜ問題なのか
クラスメンバに同じ名前の宣言が複数ある場合、最後の宣言が他の宣言を静かに上書きしてしまいます。これにより予期しない動作が発生する可能性があります。
例
このルールに対して不適切なコードの例:
javascript
class A {
foo() {
console.log("foo");
}
foo = 123;
}
let a = new A();
a.foo(); // Uncaught TypeError: a.foo is not a functionこのルールに対して適切なコードの例:
javascript
class A {
foo() {
console.log("foo");
}
}
let a = new A();
a.foo();使い方
設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:
json
{
"rules": {
"no-dupe-class-members": "error"
}
}bash
oxlint --deny no-dupe-class-members