--- title: continue slug: Web/JavaScript/Reference/Statements/continue tags: - JavaScript - Language feature - Statement translation_of: Web/JavaScript/Reference/Statements/continue ---
continue 文は、現在のループまたはラベル付きループの現在反復処理中の文の実行を終了して、次の反復処理でループの実行を続けます。
continue [label];
label{{jsxref("Statements/break", "break")}} 文と対照的に、 continue はループの実行を完全には終了しません。代わりに、
continue 文には任意でラベルを含めることができ、現在のループの代わりにラベル付きループ文の次の反復処理へジャンプすることができます。この場合、continue 文は、ラベル付き文の中にある必要があります。
次の例では、 {{jsxref("Statements/while", "while")}} ループで i の値が 3 であるときに実行される continue 文を持つものを示しています。よって、 n は 1、3、7、12 の値をとります。
var i = 0;
var n = 0;
while (i < 5) {
i++;
if (i === 3) {
continue;
}
n += i;
}
次の例では、checkiandj とラベル付けされた文が、checkj とラベル付けされた文を含んでいます。もし continue と遭遇したなら、プログラムは checkj 文の先頭から継続します。continue と遭遇するたびに、checkj の条件が false を返すまで、checkj は再度反復します。false が返されたら、checkiandj 文の残りが完遂されます。
もし continue がラベル checkiandj を持っていたなら、プログラムは checkiandj 文の先頭から継続します。
{{jsxref("Statements/label", "ラベル", "", 1)}}もご覧ください。
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
| 仕様書 |
|---|
| {{SpecName('ESDraft', '#sec-continue-statement', 'Continue statement')}} |
{{Compat("javascript.statements.continue")}}