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 ステートメント