ラベルの概要
「ラベル」はJavaScriptにおける「goto
文」のようなものです。
break
for() {
for() {
break;
}
//breakした後の処理
}
この例は、ネストされた for
の break
は、上位の for
を break
できないことを示しています。
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は後方互換性を保持する傾向が強いため、
使用することはなくとも、仕様の一つとして知っておくことは良いかもしれません。
仕様書や、古いコードで目にするかも。