JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのbreak文・continue文・ラベル文の使い方を徹底解説

break文とは

break文は、ループ処理を途中で強制的に終了させるための制御構文です。実行されると、その時点でループから抜け出し、ループを囲む閉じ波括弧(})の直後にある次の処理へと制御が移ります。

条件によっては、残りの反復処理を実行する必要がないケースも多くあります。そんなときbreak文は非常に便利です。以下の例では、whileループと組み合わせてbreak文を使用しています。変数xが5に達した時点でループが即座に終了し、閉じ波括弧の直後にあるdocument.write()が実行される様子を確認してみましょう。

サンプルコード

<html>
   <body>
      <script>
         var x = 1;
         document.write("Entering the loop<br /> ");

         while (x < 20) {
            if (x == 5) {
               break; // ループを完全に抜け出す
            }
            x = x + 1;
            document.write( x + "<br />");
         }
         document.write("Exiting the loop!<br /> ");
      </script>
   </body>
</html>

continue文とは

continue文は、現在の反復処理の残りのコードブロックをスキップし、次の反復(イテレーション)をすぐに開始するようインタプリタに指示します。continue文が実行されると、プログラムの流れは即座にループの条件判定式へ移り、条件がtrueであれば次の反復を開始し、falseであればループから抜け出します。

つまりcontinue文は、ループ内の1回分の反復だけを飛ばす働きを持ちます。以下の例では、whileループと組み合わせてcontinue文を使用しています。変数xが8になったときだけ出力がスキップされる様子に注目してください。

サンプルコード

<html>
   <body>
      <script>
         var x = 1;
         document.write("Entering the loop<br /> ");

         while (x < 10) {
            x = x + 1;
            if (x == 8) {
               continue; // ループ本体の残りをスキップ
            }
            document.write( x + "<br />");
         }
         document.write("Exiting the loop!<br /> ");
      </script>
   </body>
</html>

ラベル文(label文)とは

JavaScriptのラベル文は、識別子の前にラベル名を付けるための構文です。ラベルは「識別子+コロン(:)」というシンプルな形式で表され、ステートメントやコードブロックに対して付けられます。break文やcontinue文と組み合わせることで、プログラムの流れをより精密に制御できます。特に、ネストした(入れ子になった)複数のループを扱う際に威力を発揮します。

ここでは、break文とcontinue文それぞれにラベルを使用する2つの例を見ていきましょう。まずは、break文とラベルを組み合わせてフローを制御するコードです。外側のループには「outerloop」、内側のループには「innerloop」というラベルを付けており、break文にラベルを指定することで、どのループを抜けるのかを明示的に指定できます。

サンプルコード

<html>
   <body>
      <script>
         document.write("Entering the loop!<br /> ");
         outerloop: // ラベル名

         for (var i = 0; i < 5; i++) {
            document.write("Outerloop: " + i + "<br />");
            innerloop:
               for (var j = 0; j < 5; j++) {
                  if (j > 3 ) break ; // 最も内側のループを抜ける
                  if (i == 2) break innerloop; // 内側のループを抜ける
                  if (i == 4) break outerloop; // 外側のループを抜ける
                  document.write("Innerloop: " + j + " <br />");
               }
         }
         document.write("Exiting the loop!<br /> ");
      </script>
   </body>
</html>

まとめ

break文はループ全体を即座に終了させ、continue文は現在の反復のみをスキップして次の反復へ進みます。さらにラベル文を組み合わせれば、ネストしたループの中でも「どのループを対象に脱出・スキップするか」を自由に指定できます。これらの制御構文を使いこなすことで、複雑な繰り返し処理も柔軟かつ効率的に記述できるようになります。

  1. 【初心者向け】JavaScriptのcontinueステートメントの使い方を解説

    continueステートメントとはJavaScriptのcontinueステートメントは、ループ処理の中で特定の条件が満たされた場合に、その回の処理(イテレーション)をスキップし、次の反復へ処理を移すために使用されます。breakステートメントがループ自体を抜けるのに対し、continueはあくまで「その回だけ」を飛ばしてループを継続する点が特徴です。この仕組みにより、不要なデータを除外しながら効率的に繰り返し処理を行うことができます。continueステートメントの実装例以下は、1から30までの数値の中から偶数のみを出力するサンプルコードです。奇数の場合にcontinueを使って処理をスキッ

  2. シェルスクリプト(bash)でbreakとcontinueステートメントを使う方法

    この記事では、bashスクリプトにおけるbreakとcontinueの使い方を詳しく解説します。bashには主に3種類のループ構文(for、while、until)が用意されており、breakとcontinueはbashの組み込みコマンドとして、ループの流れを制御するために使われます。この概念はPythonをはじめとする人気プログラミング言語にも存在するため、覚えておくと非常に役立ちます。 $ type -a break continue breakステートメントでループを抜ける breakステートメントを実行すると、その時点でループから抜け出し、制御はループの次のステートメントへ移ります