ECMAScriptループ文

イテレーション文は別名ループ文で、ある条件が満たされるまで繰り返し実行されるコマンド群を宣言します。

ループは、通常配列の値をイテレートするために使用されます(その名前の由来です)または繰り返しの算術タスクを実行するために使用されます。

このセクションでは ECMAScript が提供する四つのイテレーション文について説明します。

do-while文

do-while文は後テストループであり、これはループ内のコードを実行した後に退出条件が計算されることを意味します。したがって、計算式に進む前に少なくともループの主体が実行されます。

その文法は以下の通りです:

do {statement} while (expression);

例:

var i = 0;
do {i += 2;} while (i < 10);

while文

while文は前テストループであり、これはループ内のコードを実行する前に退出条件が計算されることを意味します。したがって、ループの主体が実行されない可能性があります。

その文法は以下の通りです:

while (expression) statement

例:

var i = 0;
while (i < 10) {
  i += 2;
}

for文

for文は前テストループであり、ループに入る前に変数を初期化し、ループ後の実行されるコードを定義できます。

その文法は以下の通りです:

for (initialization; expression; post-loop-expression) statement

注意:post-loop-expression その後、セミコロンを書かないと実行されません。

例:

iCount = 6;
for (var i = 0; i < iCount; i++) {
  alert(i);
}

このコードは初期値が0の変数iを定義しています。条件式(i < iCount)の値がtrueである場合のみ、forループに進みます。これにより、ループの主体が実行されない可能性があります。ループの主体が実行された場合、ループ後の式が実行され、変数iがインクリメントされます。

for-in文

for文は厳格な反復文で、オブジェクトの属性をリストアップするために使用されます。

その文法は以下の通りです:

for (property in expression) statement

例:

for (sProp in window) {
  alert(sProp);
}

ここでは、for-in文がwindowオブジェクトのすべての属性を表示するために使用されます。

前述のPropertyIsEnumerable()は、ECMAScriptで属性がfor-in文でアクセスできるかを示すために特別に使用される方法です。