JavaScriptの続き
例
コードのブロックをループしますが、3の値をスキップします。
let text = "";
for (let i = 0; i < 5; i++) {
if (i === 3) continue;
text += i + "<br>";
}
let text = "";
let i = 0;
while (i < 5) {
i++;
if (i === 3) continue;
text += i + "<br>";
}
以下のその他の例。
定義と使用法
指定された条件が発生した場合、continue
ステートメントは(ループ内の)1つの反復を中断し、ループ内の次の反復を続行します。
continueステートメントとbreakステートメントの違い は、ループから「ジャンプアウト」する代わりに、continueステートメントがループ内の1回の反復を「ジャンプオーバー」することです。
ただし、continueステートメントを実行すると、ループの種類によって動作が異なります。
- whileループでは、条件がテストされ、それがtrueの場合、ループが再度実行されます。
- forループでは、インクリメント式(i ++など)が最初に評価され、次に条件がテストされて、別の反復を実行する必要があるかどうかが確認されます。
continueステートメントは、オプションのラベル参照とともに使用することもできます。
注: continueステートメント(ラベル参照ありまたはなし)は、ループ内でのみ使用できます。
構文
continue;
オプションのラベル参照の使用:
continue labelname;
その他の例
数字の2と3をスキップします(OR演算子を使用)。
let text = "";
for (let i = 1; i < 8; i++) {
if (i === 2 || i === 3) continue;
text += i + ""<br>";
}
配列をループしますが、「Saab」はスキップします。
const cars = ["BMW", "Volvo", "Saab", "Ford"];
let text = "";
for (let = 0; i < cars.length; i++) {
if (cars[i] === "Saab") {
continue;
}
text += cars[i] + "<br>";
}
例
ラベル参照を使用して、ネストされたループの値をスキップします。
let text = "";
// The first for loop is labeled Loop1:
Loop1:
for (let i = 0; i < 3; i++) {
text += i + "<br>";
// The second for loop is labeled Loop2:
Loop2:
for (let i = 10; i < 15; i++) {
if (i === 12) continue Loop2;
text += i + "<br>";
}
}
関連ページ
JavaScriptチュートリアル:JavaScriptの中断と続行
JavaScriptチュートリアル:JavaScriptForループ
JavaScriptチュートリアル:JavaScriptのWhileループ
JavaScriptチュートリアル:JavaScriptbreakステートメント
JavaScriptリファレンス:JavaScript for Statement
JavaScriptリファレンス:JavaScriptwhileステートメント
ブラウザのサポート
continue
ECMAScript1(ES1)機能です。
ES1(JavaScript 1997)は、すべてのブラウザーで完全にサポートされています。
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |