【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

【JavaScript】switch文を使っている時にループを抜け出す方法

本記事では、JavaScriptでswitch文を使っている時にループ処理を抜け出す方法について解説しています。

JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座
総合評価
( 5 )
メリット
  • 誰でも分かるように嚙み砕いて説明してくれる
  • アニメーションの知識が深く学べる
  • 1つのWebサイトを作りながら学べる
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著: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文)に対して実行されたことが分かります。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次