本記事では、JavaScriptの繰り返し処理で使われるwhile文・do~while文の書き方と違いについて解説しています。
JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座

メリット
- 誰でも分かるように嚙み砕いて説明してくれる
- アニメーションの知識が深く学べる
- 1つのWebサイトを作りながら学べる


Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!



初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード


メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)


目次
while文・do~while文の書き方・使い方
while文とdo~while文の基本的な書き方は以下のとおりです。
while(条件式){
// 条件式がtrue時に実行させたい処理を記述
}
do{
// 条件式がtrue時に実行させたい処理を記述
}while(条件式);
コードの解説
- 条件式:ループ処理の条件
while文・do~while文は、条件式がtrue(真)である場合にのみブロック内の処理が実行されます。



while文・do~while文を使ったサンプルコードを用意したので、動作確認してみましょう!
let i = 0;
while (i < 3) {
console.log(`${i + 1}回目の実行`);
i++;
}
// => 1回目の実行
// => 2回目の実行
// => 3回目の実行
let i = 0;
do {
console.log(`${i + 1}回目の実行`);
i++;
} while (i < 3);
// => 1回目の実行
// => 2回目の実行
// => 3回目の実行
while文・do~while文の違い
while文・do~while文の違いについて見ていきましょう。
先ほど紹介したサンプルコードでは、どちらも同じ結果になりました。基本的にはwhile文とdo~while文は同じ挙動をしますが、下記のような場合は異なる挙動をとります。
let i = 3;
while(i < 3) {
console.log("処理が実行されました");
i++;
};
let i = 3;
do {
console.log("処理が実行されました");
i++;
} while (i < 3);
// => 処理が実行されました
while文ではブロック内の処理が実行されないのに対して、do~while文ではブロック内の処理が実行されます。
このような結果になる理由は、while文はループ処理が始まる前に条件式を判定します。そのため、while文では条件式を満たしていないと判定され一度も処理が実行されません。
しかし、do~while文では一度ループ処理を行った後に条件式を判定します。そのため、do~while文ではブロック内の処理が一度実行されます。