タイトル: ループ処理
JavaScriptにおいてループ処理をおこなう際は、for文と while文という2種類を使い分ける。
大まかには以下のような使い分けを行う。
・繰り返し回数が決まっている場合はfor文を使用する。
・繰り返し回数が決まっていない場合はwhile文を使用する。
子ページから選択して下さい。
本ページの子ページ
- for文 — 回数を決めて繰り返す
JavaScriptのループ構文一覧
| 構文 | 用途 |
|---|---|
for | 回数が決まっている繰り返し |
while | 条件が真の間繰り返し |
do...while | 最低1回は実行してから条件判定 |
for...in | オブジェクトのキーを列挙 |
for...of | 配列・iterableの値を列挙 |
forEach | 配列の各要素にコールバック適用 |
map / filter / reduce | 関数型風のシーケンス処理 |
主要なループの書き方
|
// for |
map / filter / reduce(関数型風)
|
const nums = [1, 2, 3, 4, 5]; |
break / continue
|
for (let i = 0; i < 10; i++) { |
使い分けの目安
| 場面 | 推奨 |
|---|---|
| 回数が決まっている | for |
| 条件で続ける/停止 | while / do...while |
| 配列を順に処理 | for...of / forEach |
| オブジェクトのキーを列挙 | for...in または Object.keys(...) |
| 変換・集約を簡潔に | map / filter / reduce |
注意点
for...inは配列に対しては推奨されない(インデックスが文字列、順序保証なし、継承プロパティも含む)。配列ならfor...of- 無限ループ: 条件式が常に true だと止まらない。break を必ず想定
forEachはbreakできない。途中で抜けたい場合はfor...ofやsome/every- 非同期処理を含むループは
for...of+awaitが読みやすい(forEach+awaitは意図通り動かない)