JavaScriptで多重ループを抜けるラベル構文について

[`evernote` not found]
[`livedoor` not found]
[`yahoo` not found]

最近、改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用までという本を読んでいるのですが、ES2015も含めたJavaScriptについて本格的に書かれてあって、とても分かりやすいです。

JavaScriptはある程度分かっていたつもりなのですが、それでもこういうまとまった本を読むと、何個かは知らなかった記述がでてきます(ES2015についてはほとんど知らないことばかりですが)。

今回はその中で、2.5.8に記載されていた多重ループを一気に抜けるラベル構文についてメモ。調べてみたら、よくある記述らしいんで、ブログに書こうか迷ったのですが、前に多重ループを抜けるときは匿名関数にして即時実行したほうがいいというようなことを書いてしまったので……。
for文の二重ループを一重ループにする方法 | while(isプログラマ)

で、上記記事に書いた多重ループの抜ける方法をラベル構文で書くと下記のようになる。

変更した箇所は、最初のfor文の前に『kuku』というラベルをつけ、多重ループを抜けるときには『break kuku;』とやるだけ。上で紹介した本が改行してあったので、ラベル指定の後は改行しましたが、『kuku: for(i=0;i<9;i++){』と改行しないほうが分かりやすいかも? このラベル構文はcontinue文でも利用できるとのことで、またswitch文の中でループを抜ける際にはラベル構文でなければならないとのこと(そりゃ、switch命令内でbreakとすると、switch命令を抜けるだけですしね)。 参考:break文とcontinue文でのラベル指定 – 繰り返し処理 – JavaScript入門

改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
山田 祥寛
技術評論社
売り上げランキング: 4,391

JavaScriptで多重ループを抜けるラベル構文について” への1件のコメント

コメントを残す

メールアドレスが公開されることはありません。