JavaScriptにおけるwhileループの解説
この記事では、JavaScriptにおけるwhileループについて、基礎から応用まで詳しく解説します。各セクションにジャンプできるリンクを用意しました。
whileループとは?
whileループは、条件が真(true)である間、特定のコードを繰り返し実行するための制御構文です。ループの継続条件が偽(false)になると、ループは終了します。
例えば、「条件を満たす間ずっと実行したい処理」がある場合に便利です。
基本構文と動作
基本的な構文は以下のようになります:
while (条件式) {
// 繰り返し実行する処理
}
条件式はブール値(trueまたはfalse)を評価します。条件式がtrueであれば、ブロック内のコードが実行されます。条件式がfalseになるとループを終了します。
具体例
1から5までの数を出力
let i = 1;
while (i <= 5) {
console.log(i);
i++;
}
この例では、変数iが1から始まり、5以下の間繰り返し処理を実行します。各ループでiをインクリメントしているため、ループが正しく終了します。
配列の全要素を出力
const arr = ["apple", "banana", "cherry"];
let index = 0;
while (index < arr.length) {
console.log(arr[index]);
index++;
}
この例では、配列の長さを条件として、各要素を順番に出力しています。
条件が満たされるまでランダムな数を生成
let randomNumber = 0;
while (randomNumber < 0.9) {
randomNumber = Math.random();
console.log(randomNumber);
}
ここでは、ランダムな数を生成し、それが0.9以上になるまで繰り返します。
よくある間違い
無限ループの発生
条件式が常にtrueの場合、無限ループが発生します。たとえば:
while (true) {
console.log("終了しません!");
}
このようなコードはブラウザや実行環境をフリーズさせる可能性があるため、注意が必要です。
インクリメントの忘れ
ループ変数を更新しないと、条件式が常に真になり無限ループが発生します:
let i = 0;
while (i < 5) {
console.log(i);
// i++; が欠けている
}
使用例と適切な場面
whileループは以下のような場面で役立ちます:
- 特定の条件が満たされるまで処理を繰り返す場合
- 繰り返し回数が事前に不明な場合
- リストや配列の要素を順に処理する場合
do...whileとの違い
do...whileループは、少なくとも1回はコードを実行したい場合に使用します。構文は以下の通りです:
do {
// 実行する処理
} while (条件式);
例えば:
let number = 5;
do {
console.log(number);
number--;
} while (number > 0);
このコードは、numberが0になるまで繰り返します。
まとめ
whileループは、条件に応じてコードを繰り返し実行する強力なツールです。ただし、条件式の設計やループ変数の管理には注意が必要です。特に無限ループを避けるよう慎重にコードを記述しましょう。