Skip to content
← Back to rules

typescript/no-dynamic-delete 制限

何をするか

計算されたキー式に対して delete 演算子を使用することを禁止します。

なぜ問題なのか

動的に計算されたキーを削除することは危険であり、場合によっては最適化が不十分になる可能性があります。 実行時定数でないキーに対して delete 演算子を使用することは、適切なデータ構造を使っていない兆候である可能性があります。 キーバリューのコレクションとしてオブジェクトを使用している場合は、MapSet を検討してください。

このルールに対する誤りの例:

ts
const container: { [i: string]: 0 } = {};
delete container["aa" + "b"];

このルールに対する正しい例:

ts
const container: { [i: string]: 0 } = {};
delete container.aab;

使い方

設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:

json
{
  "rules": {
    "typescript/no-dynamic-delete": "error"
  }
}
bash
oxlint --deny typescript/no-dynamic-delete

参照