Skip to content
← Back to rules

eslint/no-duplicate-case 正しさ

This rule is turned on by default.

何をするか

重複する case ラベルを禁止します

なぜ問題なのか

switch 文の case 節で同じテスト式が複数回使用されている場合、プログラマが case 節をコピーしたものの、テスト式の変更を忘れている可能性が高いです。

このルールに違反する誤ったコードの例:

js
var a = 1,
  one = 1;
switch (a) {
  case 1:
    break;
  case 2:
    break;
  case 1: // 重複するテスト式
    break;
  default:
    break;
}

switch (a) {
  case one:
    break;
  case 2:
    break;
  case one: // 重複するテスト式
    break;
  default:
    break;
}

このルールに準拠する正しいコードの例:

js
var a = 1,
  one = 1;
switch (a) {
  case 1:
    break;
  case 2:
    break;
  default:
    break;
}

switch (a) {
  case "1":
    break;
  case "2":
    break;
  default:
    break;
}

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、以下の方法が使えます:

json
{
  "rules": {
    "no-duplicate-case": "error"
  }
}
bash
oxlint --deny no-duplicate-case

参照