本記事では、JavaScriptでswitch文を使っている時にループ処理を抜け出す方法について解説しています。
JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座
メリット
- 誰でも分かるように嚙み砕いて説明してくれる
- アニメーションの知識が深く学べる
- 1つのWebサイトを作りながら学べる
ポチップ
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード
メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次
ループ内にswitch文が使われている時のbreak
JavaScriptでループ処理を抜け出す時には「break」を使用します。しかし、switch文でも処理の終了地点に「break」をセットし処理を終わらせます。
このような場合、プログラムはどのような挙動を取るのでしょうか?実際にサンプルコードを用意したので確認してみましょう!
for (let i = 1; i <= 5; i++) {
switch (i) {
case 3:
console.log("ループ処理(for)を抜けたい!");
break;
default:
console.log(`仮変数iの値: ${i}`);
}
}
/* コンソールログ *
* 仮変数iの値: 1
* 仮変数iの値: 2
* ループ処理(for)を抜けたい!
* 仮変数iの値: 4
* 仮変数iの値: 5
*/
コンソールログを確認すると「case 3」でbreakが実行されても、ループ処理が止まっていないことが確認できます。つまり、このbreakはswitch文に対して有効と分かります。
ラベルを使ってループ処理を抜ける
先ほど、ループ内にswitch文がある状態でbreakを使うとswitch文に対して有効だと分かりましたが、ループ処理を抜けたい時はどうすれば良いでしょうか?
答えはループ処理の先頭に任意のラベル名を付与させ、そのラベル名を対象にしたbreakをセットします。
forSwitch: for (let i = 1; i <= 5; i++) {
switch (i) {
case 3:
console.log("ループ処理(for)を抜けたい!");
break forSwitch;
default:
console.log(`仮変数iの値: ${i}`);
}
}
/* コンソールログ *
* 仮変数iの値: 1
* 仮変数iの値: 2
* ループ処理(for)を抜けたい!
*/
コンソールログを確認すると「case 3」で実行されたbreakを最後に、何も表示されていないことが確認できます。つまり、今回のbreakはswitch文ではなくループ(for文)に対して実行されたことが分かります。