SyntaxError: continue must be inside loop
JavaScript の例外 "continue must be inside loop" は、continue 文がループ文の中でない場所にあったときに発生します。
エラーメッセージ
SyntaxError: Illegal continue statement: no surrounding iteration statement (V8-based) SyntaxError: Illegal continue statement: 'label' does not denote an iteration statement (V8-based) SyntaxError: continue must be inside loop (Firefox) SyntaxError: 'continue' is only valid inside a loop statement. (Safari) SyntaxError: Cannot continue to the label 'label' as it is not targeting a loop. (Safari)
エラー型
エラーの原因
continue 文はループを継続するために使用できますが、それ以外の場所で使用すると構文エラーとなります。あるいは、ラベル を continue 文に指定することで、そのラベルを持つ任意のループを継続することができます。ただし、ラベルが包含する文を参照していない場合、別のエラー SyntaxError: label not found が発生します。また、ラベルがループではない文を参照している場合も、同様に構文エラーが発生します。
例
>コールバック内で continue を使用
forEach() ループで次の反復処理に進みたい場合は、代わりに return を使用するか、for...of ループに変換するかしてください。
js
array.forEach((value) => {
if (value === 5) {
continue; // SyntaxError: continue must be inside loop
}
// value で何かを行う
});
js
array.forEach((value) => {
if (value === 5) {
return;
}
// value で何かを行う
});
js
for (const value of array) {
if (value === 5) {
continue;
}
// value で何かを行う
}