while文 (繰り返し)

英語の接続詞 while の意味「〜である間」の通り、継続条件として指定された(条件式)を評価した値が真である間、ループ本体 (loop body) の処理を繰り返し実行する。

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

このループの実行は、次のような手順となる。
1.「条件」を評価する。「条件」がならば、ループを終了する。
2.「文」を実行する。
3.「条件」の評価に戻る。
「条件」がはじめから偽の場合は、「文」は一度も実行されない。

例:コンソールに1〜5までの数字を連続で出力する

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

繰り返しの制御に使う変数の変数名は原則として「i」にする。
・let i = 1
変数 i に1を代入する。
・ while( i <= 5)
この条件式は変数 i が5以下の時trueなる。
変数 i には1が代入されているので、初めてwhile文が実行される時、条件式は1 <= 5となる。値が5以下なのでwhile文の{〜}内の処理が実行されることになる。
・ i += 1; [ i = i +1; ]
最初の繰り返しが終わる時、変数 i の値は1+1=2になる。
{〜}内の2行の処理が終わると、冒頭のwhile文に戻る。
次の繰り返しが始まる時、変数 i の値は2である。
これは5以下なのでwhile文の条件式がtrueになり、{〜}内の処理が実行される。
コンソールに変数 i の値が出力され、変数 i の値が1増えて3になり、またwhile文の冒頭に戻る。
こうしてwhile文の条件式がtrueである限り、{〜}内の処理が繰り返し実行される。
変数 i に繰り返し1を足していると、いつかは6になる時が来る。
そうなるとwhile文の条件式がfalseになって、処理は繰り返されなくなる。

+=演算子

<書式>
元の数値(変数) += 足す値
+=は、「左の数値に右の数値を足して、結果を左側に代入する」という意味の演算子。
+=演算子を使うと入力文字数を減らせるため、打ち間違いによるミスも減る。
繰り返しの条件に使う変数などでよく使われる。

-=演算子

<書式>
元の数値(変数) -= 引く値
-=は、「左の数値に右の数値を引いて、結果を左側に代入する」という意味の演算子。

無限ループに気をつける!
例えば、「i += 1;」と書くべきところをうっかり「i = 1;」と書いてしまっただけで、簡単に永久繰り返になってしまう。
ループ内の条件が最終的に false になることを確かめるようにしよう。

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