continue 文は現在のループ、またはラベル付きループの現在反復中の文の実行を終了し、そのループの実行を、その次の反復を用いて継続します。
構文
continue [label];
パラメータ
label
- その文のラベルに関連付けられた識別子。
説明
break
文とは対照的に、continue
はループの実行を完全には終了しません。代わりに、
while
ループの中では、条件へ戻ります。
for
ループの中では、更新式へジャンプします。
continue
文には、プログラムが現在のループの代わりにラベル付きループ文の次の反復へジャンプすることを可能にする、任意のラベルを含められます。この場合、continue
文は、このラベル付き文の中にネストされている必要があります。
例
例: continue
を while
とともに使う
次の例は、i
の値が 3 であるときに実行される continue
文を持つ while
ループを表しています。よって、n
は値 1、3、7、および 12 をとります。
var i = 0; var n = 0; while (i < 5) { i++; if (i === 3) { continue; } n += i; }
例: continue
をラベルとともに使う
次の例では、checkiandj
とラベル付けされた文が、checkj
とラベル付けされた文を含んでいます。もし continue
と遭遇したなら、プログラムは checkj
文の先頭から継続します。continue
と遭遇するたびに、checkj
の条件が false を返すまで、checkj
は再度反復します。false が返されたら、checkiandj
文の残りが完遂されます。
もし continue
がラベル checkiandj
を持っていたなら、プログラムは checkiandj
文の先頭から継続したでしょう。
label
もご覧ください。
var i = 0; var j = 8; checkiandj: while (i < 4) { console.log("i: " + i); i += 1; checkj: while (j > 4) { console.log("j: "+ j); j -= 1; if ((j % 2) == 0) continue checkj; console.log(j + " is odd."); } console.log("i = " + i); console.log("j = " + j); }
結果:
"i: 0" // start checkj "j: 8" "7 is odd." "j: 7" "j: 6" "5 is odd." "j: 5" // end checkj "i = 1" "j = 4" "i: 1" "i = 2" "j = 4" "i: 2" "i = 3" "j = 4" "i: 3" "i = 4" "j = 4"
仕様
仕様書 | 策定状況 | コメント |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | 標準 | 最初期の定義。ラベルなし版。 |
ECMAScript 3rd Edition (ECMA-262) | 標準 | ラベルあり版を追加。 |
ECMAScript 5.1 (ECMA-262) Continue statement の定義 |
標準 | |
ECMAScript 2015 (6th Edition, ECMA-262) Continue statement の定義 |
標準 | |
ECMAScript 2017 Draft (ECMA-262) Continue statement の定義 |
ドラフト |
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート | (有) | (有) | (有) | (有) | (有) |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |