JavaScript | 基礎構文:ループ – while 文

JavaScript JavaScript
スポンサーリンク

while 文とは何か

while 文は「条件が true のあいだ、処理を繰り返す」ためのループ構文です。繰り返し回数が決まっていないとき(「条件を満たす限り続けたい」ケース)に向いています。条件が最初から false なら、一度も実行されません。


基本構文と動き

while (条件) { 処理 } の形で書きます。ループが1回終わるたびに、もう一度「条件」をチェックし、true なら次の周回へ、false なら終了します。

let i = 0;

while (i < 3) {
  console.log(i);
  i++; // 条件がいつか false になるように更新する
}
// 出力: 0, 1, 2
JavaScript

この例では、i を毎回増やすことで、最終的に i < 3 が false になり、ループが止まります。


例題で理解する

入力が空でなくなるまで繰り返す

let input = "";

while (input === "") {
  // 実際のアプリではここでユーザー入力を受け取る想定
  input = "hello"; // 仮の入力
}

console.log(input); // "hello"
JavaScript

「空ならもう一度」のような「条件が整うまで待つ」処理に向いています。

カウンターの増減で条件を制御

let count = 5;

while (count > 0) {
  console.log(`残り: ${count}`);
  count--; // 0になったら終了
}
// 出力: 残り: 5, 4, 3, 2, 1
JavaScript

配列をインデックスで走査

const items = ["a", "b", "c"];
let idx = 0;

while (idx < items.length) {
  console.log(items[idx]);
  idx++;
}
// 出力: a, b, c
JavaScript

break と continue の使い方

break でループを途中終了

let n = 1;

while (n <= 10) {
  if (n === 4) break; // 条件を満たしたら終了
  console.log(n);
  n++;
}
// 出力: 1, 2, 3
JavaScript

continue で今回の周回だけスキップ

let n = 0;

while (n < 5) {
  n++;
  if (n % 2 === 0) continue; // 偶数はスキップ
  console.log(n);
}
// 出力: 1, 3, 5
JavaScript

do…while との違い

do...while は「少なくとも1回は実行」されるループです。先に処理を実行してから、最後に条件をチェックします。

let x = 10;

do {
  console.log("必ず1回は実行される");
  x--;
} while (x < 5); // ここは false なので1回で終了
JavaScript
  • while: 条件が最初にチェックされる。条件が false なら0回。
  • do…while: 処理が先に1回実行される。条件次第で2回目以降が続く。

よくある落とし穴と回避策

無限ループに注意

条件が永遠に true のままだと止まりません。ループ内で状態を更新し、いつか必ず条件が false になるように設計します。

// 悪い例(更新がない)
let i = 0;
while (i < 3) {
  console.log(i); // i を更新しないので止まらない
}

// 良い例(更新する)
let j = 0;
while (j < 3) {
  console.log(j);
  j++;
}
JavaScript

条件の再確認

条件は毎周回ごとに再評価されます。外部状態(配列の長さ、フラグの変化など)に依存する場合、ループ内でその状態が適切に変わるかを意識してください。


まとめ

while 文は「条件が成り立つ限り続ける」ループで、回数が未定な処理に向いています。必ず「いつか条件が false になる更新」を入れて無限ループを避け、必要に応じて breakcontinue を使い分けましょう。1回は必ず実行したい場合は do...while が適しています。

タイトルとURLをコピーしました