JavaScriptのdo...while文の使い方をわかりやすく解説!初心者にもできる繰り返し処理
生徒
「JavaScriptで繰り返し処理をしたいとき、while文は聞いたことがあるんですが、do...while文って何ですか?」
先生
「do...while文は、最初に一度だけ処理を実行してから、条件をチェックして繰り返す、という仕組みの文法です。」
生徒
「えっ?条件をチェックする前に実行しちゃうんですか?それって大丈夫なんですか?」
先生
「はい、安全に使えばとても便利なんですよ。それでは、初心者でもわかるように一から説明していきましょう!」
1. do...while文とは?
do...while文は、JavaScriptの基本的な「ループ処理(くりかえし処理)」の一つです。ループとは、同じ命令(処理)を何度もくり返すことです。
通常のwhile文は、最初に「条件」をチェックして、true(正しい)ならくり返しますが、do...while文は「必ず最初に1回だけ実行」してから条件をチェックします。
つまり、条件がfalse(正しくない)でも、最低1回は処理を実行するという特徴があります。
2. do...while文の基本構文
do...while文の書き方は、とてもシンプルです。次のように書きます:
do {
// くり返したい処理(最初に必ず1回実行される)
} while (条件);
doのあとに処理を書く部分があり、while (条件)の中に「いつまでくり返すか」の条件を書きます。
3. do...while文の具体例(数字を数える)
たとえば、「数字を1から5まで表示する」プログラムは、do...while文でこう書けます:
let num = 1;
do {
console.log("今の数字:" + num);
num++;
} while (num <= 5);
今の数字:1
今の数字:2
今の数字:3
今の数字:4
今の数字:5
このように、numが1のときから処理が始まり、5まで順に表示されて、条件がfalseになったら終了します。
4. なぜdo...while文が必要なの?
do...while文は、「必ず1回は実行したい」ときにとても便利です。
たとえば、「ユーザーにパスワードを入力してもらって、それが正しいかチェックする」というような場合、必ず1回は入力してもらう必要がありますよね。
そのような「入力」や「確認」などの処理では、do...while文が大活躍します。
5. 条件が最初からfalseでも実行される例
条件が最初からfalseでも、do...while文は1回だけは必ず実行されます。次の例を見てみましょう。
let count = 10;
do {
console.log("countの値:" + count);
count++;
} while (count < 5);
countの値:10
countは10なので、count < 5は最初からfalseですが、最初の1回は表示されます。
6. do...while文とwhile文の違い
ここで、while文との違いをわかりやすく表でまとめてみましょう:
| 文の種類 | 処理の流れ | 条件がfalseでも実行される? |
|---|---|---|
while文 |
最初に条件をチェック → 処理を実行 | いいえ(1回も実行されない) |
do...while文 |
最初に処理を実行 → 条件をチェック | はい(1回は必ず実行) |
7. 実際に使われる場面の例
実際のプログラムでは、次のような場面でdo...while文が使われます:
- ユーザーに「はい」か「いいえ」を入力してもらい、正しい入力まで繰り返す
- ゲームで「もう一度プレイしますか?」と聞くとき
- 最初に1回だけメニューを表示して、選択肢に応じてくり返す
8. ユーザー入力のような処理に向いている
do...while文は、「ユーザーが何かを入力するまで待つ」ような処理にとても適しています。パソコン初心者の方がよく出会うのは、「操作を入力してください」や「Y/Nを選んでください」のような場面です。
そのような場面では、必ず1回はメッセージを表示しないといけないため、do...while文がぴったりです。
9. 無限ループに注意しよう
プログラム初心者のうちは、条件の書き忘れや間違いで、無限ループ(止まらないループ)を作ってしまうことがあります。
let number = 1;
do {
console.log("number:" + number);
// number++ を書き忘れるとループが止まりません
} while (number <= 5);
number++(数字を1つ増やす)が抜けてしまうと、条件がいつまでもtrueのままになり、ずっと終わらなくなってしまいます。
ループを書くときは、「条件がいつかfalseになるように変化させる」ことがとても大事です。
10. do...while文は初心者にやさしい構文
do...while文は、JavaScriptのループ構文の中でも、特に「まず1回は試したい処理」に適しています。
初心者の方でも、ステップを追って考えれば簡単に使えるようになります。doの中に書いた処理が「最初に必ず実行される」こと、そしてwhileの部分で条件をチェックして「もう一度くり返すかどうか」を判断する仕組みを覚えておきましょう。