1
1

ラベルの概要

「ラベル」はJavaScriptにおける「goto文」のようなものです。

break

for() {
  for() {
    break;
  }
  //breakした後の処理
}

この例は、ネストされた forbreak は、上位の forbreak できないことを示しています。

break とは

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/break

break 文は現在のループや switch 文を終了し、プログラムの制御を終了した文の次の文に移します。ラベル付きの文の中で使用された場合は、ラベル付きの文を飛び越えるためにも使われます。

この時に使用するのが「ラベル」です。

loop: for() {
        for() {
          break loop;
        }
      }
  //breakした後の処理

continue

「ラベル」のもう一つの使用例は continue です。

`continue` とは

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/continue

continue 文は、現在のループまたはラベル付きループの現在反復処理中の文の実行を終了し、次の反復処理としてループの実行を続けます。

for() {
  for() {
    if(condition) {
      continue;
    }
  }
  //conticueした後の処理
}
loop: for() {
        //continueした後の処理(次のループ)
        for() {
          if(condition) {continue loop}
        }
      }

使用例

使用例は考えてみたのですが、
「ラベルを使うより良い方法があるなあ」となる例ばかりでした。
そもそも2重forが可読性悪いですし。
goto文自体が古の構文ですしね。

個人的な経験としては、アルゴリズム問題を手早く解くために使用したケースのみです。
実装においては使わないほうが良いかなと。

良い例をお持ちの方はコメントいただけると幸いです。

JavaScriptは後方互換性を保持する傾向が強いため、
使用することはなくとも、仕様の一つとして知っておくことは良いかもしれません。
仕様書や、古いコードで目にするかも。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1