JavaScriptのwhile文から抜けたいときはどうすればいいですか?

JavaScriptのwhile文から抜け出すには?

JavaScriptでループ処理を実装する際、`while`文は非常に便利な構文です。しかし、ある条件下ではループ処理を途中で中断したい場合があります。今回の記事では、`while`文から抜け出すための方法について解説していきます。

`break`文を用いたループ処理の中断

`while`文のループ処理を途中で中断したい場合は、`break`文を使用します。 `break`文は、現在のループ処理を強制的に終了させ、`while`文の処理の外に制御を移します。

構文

while (条件式) {
  // 繰り返し処理

  if (中断条件) {
    break; // ループ処理を中断
  }

  // 中断条件が満たされなかった場合に実行される処理
}

使用例

以下の例では、配列内の要素を順番にチェックし、特定の値が見つかった時点でループ処理を中断します。

<script>
  const numbers = [1, 5, 8, 12, 15];
  let i = 0;

  while (i < numbers.length) {
    if (numbers[i] === 12) {
      console.log("値が見つかったのでループを中断します");
      break;
    }
    console.log(numbers[i]);
    i++;
  }
</script>

このコードを実行すると、コンソールには以下のように出力されます。

1
5
8
値が見つかったのでループを中断します

この例では、`numbers`配列の中に12という値が存在するため、`if (numbers[i] === 12)`の条件が満たされ、`break`文が実行されます。その結果、ループ処理は途中で中断され、`break`文以降の処理は実行されません。

`break`文の使用上の注意

`break`文は、ネストされたループ処理から抜け出す際にも使用できますが、`break`文が実行されるのは、最も内側のループ処理のみです。外側のループ処理まで抜け出すためには、ラベルを使用する必要があります。

参考資料

関連QA

Q1: `break`文を使用せずに`while`文から抜け出す方法はありますか?

A1: はい、条件式を操作することで`break`文を使用せずにループを終了できます。 例えば、ループ変数を条件外に設定したり、フラグ変数を用いてループを制御する方法があります。

Q2: `continue`文と`break`文の違いは何ですか?

A2: `continue`文は、現在のループ処理をスキップして次のループ処理に移行するのに対し、`break`文はループ処理自体を完全に終了させます。

Q3: `break`文は`for`文でも使用できますか?

A3: はい、`break`文は`for`文でも使用できます。 `while`文と同様に、`break`文は`for`文のループ処理を強制的に終了させます。

その他の参考記事:JavaScript ステートメント