Skip to content
← Back to rules

eslint/no-extra-label スタイル

An auto-fix is available for this rule.

何をするか

不要なラベルの使用を禁止します。

なぜ問題なのか

ループにネストされたループやスイッチが含まれていない場合、ループにラベルを付けるのは不必要です。

js
A: while (a) {
  break A;
}

同じ効果を得るには、ラベルを削除して breakcontinue にラベルを付けずに使用すればよいです。 おそらくこれらのラベルは開発者を混乱させるでしょう。なぜなら、ラベルはより先の場所へジャンプするものだと期待されるからです。

このルールに対して誤ったコードの例:

js
A: while (a) {
  break A;
}

B: for (let i = 0; i < 10; ++i) {
  break B;
}

C: switch (a) {
  case 0:
    break C;
}

このルールに対して正しいコードの例:

js
while (a) {
  break;
}

for (let i = 0; i < 10; ++i) {
  break;
}

switch (a) {
  case 0:
    break;
}

A: {
  break A;
}

B: while (a) {
  while (b) {
    break B;
  }
}

C: switch (a) {
  case 0:
    while (b) {
      break C;
    }
    break;
}

使用方法

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

json
{
  "rules": {
    "no-extra-label": "error"
  }
}
bash
oxlint --deny no-extra-label

参照