ループと繰り返し処理

<JavaScript で提供されるループ文>
for文
while文
do…while文
for…in文
for…of文
label文
break文
continue文

for文

for文によるループは指定された条件が false と評価されるまで繰り返される。
JavaScript の for ループは Java や C 言語の for ループと同じ。
<書式>
for ([初期化式]; [条件式]; [加算式])
 文

while文

while文は指定された条件が true に評価される限り文を実行する。

while(条件式) {
  //条件式がtrueのときここが繰り返し実行される(ループ本体)
}

例:while ループは、n が 3 未満の場合繰り返される。
各反復で、n がインクリメントされ、その値が x に加算される。
そのため、x と n は以下の値をとる。
・1 回目の反復後 : n = 1, x = 1
・2 回目の反復後 : n = 2, x = 3
・3 回目の反復後 : n = 3, x = 6
3 回目の通過完了後、条件式 n < 3 はもはや true ではなくなるため、ループが終了する。

let n = 0;
let x = 0;
while (n < 3) {
  n++;
  x += n;
}

インクリメント/1加算

JavaScriptではC言語等のようにインクリメントをサポートしている。
インクリメントは変数に1を加算するもの。
例えば変数nをインクリメントするには以下のように指定する。
n++
変数nに5が入っていれば1が加算され6になります。
変数に1を加算するのであれば以下のように指定しても基本的には同じである。
n = n + 1 または n += 1

for文とwhile文の違い

for文とwhile文の違いは、繰り返しの回数が初めから決まっているかどうか。
for文は、繰り返しの回数が決まっているときに使いやすい。
while文は繰り返しの回数があらかじめ決まっていないときに使いやすい。

do…while文

do…while文は指定された条件が false になるまで繰り返す。
<書式>
do
 文
while (条件式);

文は条件式がチェックされる前に毎回一度実行される。
(複数の文を実行するには、ブロック文 ({ ... }) を使って一つの文にする)
条件式が true の場合、文が再び実行される。
文の実行終了時に毎回条件がチェックされる。
条件が false の場合、実行は停止し、制御は do...while の次の文に渡る。

例:do ループは少なくとも一度繰り返される。そして i が 5 未満でなくなる直前まで繰り返される。

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

for…in文

for…in文はオブジェクトにあるすべての列挙可能なプロパティに対し指定された変数を通して反復処理を行う。それぞれの異なるプロパティに、JavaScript は指定された文を実行する。

for(let 変数名 in オブジェクト名) {
  処理内容
}

for…of文

for…of文は、反復可能オブジェクト (en-US)ArrayMapSetarguments オブジェクトなどを含む)を反復処理するループを生成し、それぞれのプロパティの値に対して実行したい文をともなって作られた反復処理フックを呼び出す。

for(let 変数名 of オブジェクト) {
  処理内容
}


この記事が気に入ったらサポートをしてみませんか?