カテゴリ: JavaScript 更新日: 2026/02/13

JavaScriptのwhile文の基本構文と使いどころを学ぼう

JavaScriptのwhile文の基本構文と使いどころを学ぼう
JavaScriptのwhile文の基本構文と使いどころを学ぼう

先生と生徒の会話形式で理解しよう

生徒

「JavaScriptで同じ処理を条件が変わるまで繰り返したいときはどう書けばいいですか?」

先生

「そんなときに使うのがwhile文ですよ。条件がtrueである間、ずっとくり返す構文です。」

生徒

「条件って何ですか?難しそう…」

先生

「条件とは、『〇〇の間だけくり返す』という目安のことです。今回は初心者にもわかるように丁寧に解説しますね!」

1. while文とは?

1. while文とは?
1. while文とは?

while文は「〇〇の間だけ繰り返す」という条件があるループ処理です。for文と比べて、回数ではなく条件を重視します。例えば「お腹が空いている間だけ食べる」と同じイメージです。

2. while文の基本構文

2. while文の基本構文
2. while文の基本構文

JavaScriptのwhile文は次のように書きます。


while (条件) {
  // 条件がtrueの間、繰り返す処理
}

ここで、条件とは<true>か<false>を返す式(しき)のことです。たとえば「数字が10未満ならくり返す」というようなものです。

3. 実際にwhile文を使ってみよう

3. 実際にwhile文を使ってみよう
3. 実際にwhile文を使ってみよう

たとえば、「数字を0から順に足して、合計が10より小さい間くり返す」コードは次のようになります。


let sum = 0;
let num = 0;
while (sum < 10) {
  sum += num;
  console.log("合計:" + sum);
  num++;
}

実行すると、sumが10未満の間だけ繰り返され、数字がどんどん足されていきます。


合計:0
合計:1
合計:3
合計:6
合計:10

4. while文の各部分をわかりやすく解説

4. while文の各部分をわかりやすく解説
4. while文の各部分をわかりやすく解説
  • let sum = 0; → 合計を0に初期化
  • let num = 0; → 足す数字も0からスタート
  • while (sum < 10) → 「合計が10未満」の間だけくり返す
  • sum += num;sum = sum + numと同じ意味で、合計に数字を足す
  • num++; → 数字を1ずつ増やす

このように条件に応じてループが止まるので、for文よりも柔軟に使えます。

5. do...while文とのちがい

5. do...while文とのちがい
5. do...while文とのちがい

似た構文にdo...while文があります。こちらは一度必ず中の処理を実行してから条件を確かめます。


let num2 = 0;
do {
  console.log("num2=" + num2);
  num2++;
} while (num2 < 1);

num2=0

違いは、while文は最初に条件をチェックして必要なければ一度も実行しない点にあります。

6. 無限ループに注意しよう

6. 無限ループに注意しよう
6. 無限ループに注意しよう

無限ループとは、条件がいつまでもtrueのままで終わらないループのことです。たとえば次のような書き方は永遠にくり返します。


let count = 0;
while (count < 3) {
  console.log(count);
  // count++ を忘れると無限ループになる
}

処理が止まらず、ブラウザが固まるので必ずcount++などの更新処理を入れましょう。

7. while文の使いどころ

7. while文の使いどころ
7. while文の使いどころ

while文は以下のような場面で役立ちます:

  • ユーザーの入力が正しいまでくり返す
  • データを条件付きで順に取り出す
  • 条件がくり返す回数ではなく状況で決まるとき

たとえば「パスワードを正しく入力するまで繰り返す」といった処理に使えます。

8. 実際のコードにwhile文を使う例

8. 実際のコードにwhile文を使う例
8. 実際のコードにwhile文を使う例

たとえば、配列から条件に合う値が出るまで探し続けるような実用例は次のようです。


const nums = [3, 7, 2, 9, 5];
let idx = 0;
while (nums[idx] !== 9 && idx < nums.length) {
  console.log("調査中:" + nums[idx]);
  idx++;
}
console.log("見つかった値:" + nums[idx]);

調査中:3
調査中:7
調査中:2
調査中:9
見つかった値:9

このように、値が見つかるまでくり返す処理が簡単に書けます。

まとめ

まとめ
まとめ

ここまでJavaScriptにおけるwhile文の基礎から応用、そして注意点までを詳しく解説してきました。プログラミングにおいて「繰り返し処理」は避けては通れない非常に重要な要素です。特にwhile文は、あらかじめ繰り返す回数が決まっていない場面や、特定の状態が変化するまで処理を継続させたい場合に、その真価を発揮します。

while文の重要ポイントの再確認

記事を通じて学んだ最も大切なことは、while文が「条件ありき」の構文であるということです。for文が「10回繰り返す」といった回数指定に適しているのに対し、while文は「フラグが降りるまで」「ユーザーが正しい値を入力するまで」といった、不確定な回数のループに最適です。

また、初心者の方が最初につまずきやすいポイントとして「無限ループ」があります。プログラムが意図せず永遠に動き続けてしまう現象は、Webブラウザのフリーズを招くため、必ず条件式をfalseにするための更新処理(変数のカウントアップなど)を忘れないようにしましょう。

実践的なサンプルプログラムの紹介

学んだ知識を定着させるために、もう少し実用的なコードを見てみましょう。例えば、ランダムな数字を生成し、特定の数字が出るまで繰り返す「おみくじ」のようなロジックを考えてみます。


// 「大吉」が出るまで引き続けるプログラム
let result = "";
let count = 0;

while (result !== "大吉") {
  const randomNum = Math.floor(Math.random() * 5); // 0から4の乱数
  
  if (randomNum === 0) {
    result = "大吉";
  } else if (randomNum === 1) {
    result = "吉";
  } else {
    result = "末吉";
  }
  
  count++;
  console.log(count + "回目:結果は" + result + "でした。");
}

console.log("おめでとう!" + count + "回目で大吉が出ました!");

このコードの実行結果は、ランダムな要素が含まれるため毎回変わります。


1回目:結果は末吉でした。
2回目:結果は吉でした。
3回目:結果は大吉でした。
おめでとう!3回目で大吉が出ました!

このように、いつ終わるかわからない処理をスマートに記述できるのがwhile文の強みです。また、記事内で紹介したdo...while文についても、最低1回は必ず実行したい処理(例えば、最初に必ず一度は入力を促すフォームなど)で役立つため、状況に応じて使い分けができるようになると、JavaScriptのスキルは一段と向上します。

これからの学習に向けて

JavaScriptには他にも配列を操作するforEachmapといった便利な繰り返しメソッドがありますが、すべての基本はこのwhile文for文にあります。まずは基礎をしっかりと固め、自分でコードを書いて動かしてみることが上達への近道です。もし無限ループになってしまったら、落ち着いてブラウザを再読み込みすれば大丈夫。失敗を恐れずに、様々な条件式を試してみてくださいね。

先生と生徒の振り返り会話

生徒

「先生、まとめまで読んでwhile文の使い方がかなりスッキリ理解できました!回数が決まっていないときに便利なんですね。」

先生

「その通りです。例えばゲームのループ処理や、通信が成功するまでリトライする処理など、現場でもよく使われるんですよ。」

生徒

「さっきのおみくじのコード、面白いですね。条件が『大吉じゃない間は繰り返す』という否定形(!==)になっているのがポイントだと思いました。」

先生

「いいところに気づきましたね!『条件が成立している間だけ動く』というのがwhile文の本質です。逆に言えば、条件が最初から満たされていないと、一度も動かないこともあります。それを防ぎたい時はどうすればいいか覚えていますか?」

生徒

「ええと……あ、do...while文ですね!これなら最低1回は処理が走るから、必ず何かを表示したいときに使えそうです。」

先生

「正解です!バッチリですね。あとは無限ループにだけは気をつけて。条件を更新するコードを書き忘れると、パソコンが一生懸命考え続けて疲れちゃいますから。」

生徒

「はい、必ず変数を増減させる処理を入れるように習慣づけます!JavaScriptって、自分の書いた通りに動くから本当に楽しいです。」

先生

「その調子で頑張りましょう。次は、この繰り返し処理の中で『特定の条件のときだけループを抜ける』方法なども学んでいくと、もっと表現の幅が広がりますよ。」

関連記事:
カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptの配列から要素を削除する方法(pop, shift, spliceなど)完全ガイド
New2
JavaScript
JavaScriptで配列を作成する方法!リテラル表記とArrayコンストラクタを比較
New3
TypeScript
TypeScriptのUnion型とMapped Typesの活用法!初心者向け解説
New4
JavaScript
JavaScriptのデータ型の違いを表で比較しよう(一覧解説)
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
TypeScript
TypeScriptでコメントを書く正しい書き方と使い分け【初心者向けにやさしく解説】
No.3
Java&Spring記事人気No3
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptでJSON操作の注意点を徹底解説!初心者でも安全に扱える方法
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptの配列の一部を切り出す(slice, spliceの使い方)
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptで関数の型を再利用!ParametersとReturnTypeの使い方を初心者向けに徹底解説
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptで使える基本の型一覧(string, number, booleanなど)
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptでJSONを文字列に変換する方法を初心者向けに解説!JSON.stringifyの使い方ガイド