JavaScriptにおける「while」ループと「for」ループの完全ガイド
JavaScriptでは、繰り返し処理を行うために主に「while」ループと「for」ループの2つの構文が使用されます。これらのループは、同じ処理を複数回実行するために便利ですが、それぞれの特徴や使用する場面が異なります。この記事では、これらのループについて詳細に説明し、使用方法を実際のコード例を交えて解説します。
1. whileループの基本構文と使用法
基本構文
javascriptwhile (条件) {
// 条件がtrueの間繰り返す処理
}
while
ループは、条件式が真 (true
) の間、指定されたコードブロックを繰り返し実行します。最初に条件が評価され、条件がtrue
の場合にコードブロックが実行されます。条件がfalse
になると、ループは終了します。

例
javascriptlet count = 0;
while (count < 5) {
console.log(count); // 0, 1, 2, 3, 4が順番に表示される
count++;
}
このコードでは、count
が5未満である限り、ループが実行されます。count++
によって、count
は1ずつ増加し、最終的にcount
が5に達した時点でループが終了します。
whileループの特徴
-
無限ループの危険性:
while
ループは、条件がtrue
の間無限に繰り返されるため、条件の設定ミスによって無限ループに陥る可能性があります。例えば、条件を変化させない場合などです。 -
動的な条件に適応:
while
は、条件式が動的に変化する場合に有効です。ループの実行中に条件が変更される場合でも、柔軟に対応できます。
2. forループの基本構文と使用法
基本構文
javascriptfor (初期化; 条件; 増減) {
// 条件がtrueの間繰り返す処理
}
for
ループは、繰り返し処理をより細かく制御できるループです。初期化、条件、増減(変化)の3つの要素が一行にまとめて記述されます。
例
javascriptfor (let i = 0; i < 5; i++) {
console.log(i); // 0, 1, 2, 3, 4が順番に表示される
}
このコードでは、i
を初期化し、i < 5
という条件を満たしている間、console.log(i)
が実行され、i
が1ずつ増加します。条件がfalse
になった時点でループが終了します。
forループの特徴
-
ループの制御が明確:
for
ループは、初期化、条件、増減を一行でまとめることができるため、ループの制御が非常に明確で分かりやすいです。 -
配列やリストの反復処理: 配列やリストのような順序付けられたデータ構造に対する繰り返し処理には、
for
ループがよく使われます。
3. whileループとforループの違い
1. 使いどころの違い
-
while
ループは、繰り返し処理を行う前に条件が満たされているかを確認するため、条件が事前に分からない場合に便利です。例えば、ユーザーが入力するまで繰り返す場合や、外部の条件に応じてループを制御したいときに使います。 -
for
ループは、繰り返し回数が決まっている場合に最適です。例えば、固定回数の繰り返しや配列の各要素にアクセスする際などに使用します。
2. コードの見やすさと管理
-
for
ループは初期化、条件、増減の要素が一行に集約されるため、ループの設定が一目で分かりやすく、管理もしやすいです。 -
while
ループは、条件式を別で記述するため、ループの開始前に条件式をしっかりと考えなければなりません。無限ループに注意が必要です。
4. 複雑なループ処理の例
4.1. forループでの配列の反復処理
javascriptconst fruits = ['りんご', 'ばなな', 'さくらんぼ', 'みかん'];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
ここでは、fruits
という配列の各要素に対してループを行い、コンソールにその値を出力しています。配列の長さに応じて繰り返し処理が行われ、全てのフルーツが表示されます。
4.2. whileループでの動的な条件判定
javascriptlet balance = 1000;
let withdrawAmount = 200;
while (balance >= withdrawAmount) {
balance -= withdrawAmount;
console.log(`引き出し後の残高: ${balance}`);
}
このコードでは、balance
がwithdrawAmount
以上である限り繰り返し処理を行います。残高が不足した時点でループが終了します。動的な条件でループを制御する場面で便利です。
5. ループの終了と制御:break
と continue
5.1. break
を使ってループを強制終了
javascriptfor (let i = 0; i < 10; i++) {
if (i === 5) {
break; // iが5に達した時点でループを終了
}
console.log(i);
}
break
は、ループ内で特定の条件を満たした場合にループを強制的に終了させるために使用します。
5.2. continue
を使って次の繰り返しに進む
javascriptfor (let i = 0; i < 10; i++) {
if (i === 5) {
continue; // iが5のときはスキップして次の繰り返しへ
}
console.log(i);
}
continue
は、特定の条件を満たした場合にその回の処理をスキップし、次の繰り返しに進むために使います。
6. まとめ
while
ループとfor
ループは、どちらも繰り返し処理を行うための強力なツールですが、それぞれに得意な場面があります。条件が不確定であり、動的に変化する場合はwhile
ループを、繰り返し回数が決まっている場合や配列やリストの反復処理にはfor
ループを使用するのが一般的です。
JavaScriptでの繰り返し処理を上手に使いこなすことは、効率的なコードを書くための重要なスキルとなります。