SyntaxError: continue must be inside loop
Ngoại lệ JavaScript "continue must be inside loop" xảy ra khi câu lệnh continue không nằm bên trong một câu lệnh vòng lặp.
Thông báo
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)
Loại lỗi
Nguyên nhân?
Câu lệnh continue có thể được dùng để tiếp tục vòng lặp, và sử dụng chúng ở nơi khác là lỗi cú pháp. Ngoài ra, bạn có thể cung cấp một nhãn cho câu lệnh continue để tiếp tục bất kỳ vòng lặp nào có nhãn đó — tuy nhiên, nếu nhãn không tham chiếu đến câu lệnh đang chứa, một lỗi khác SyntaxError: label not found sẽ được ném ra, và nếu nhãn tham chiếu đến câu lệnh không phải vòng lặp, lỗi cú pháp vẫn được ném ra.
Ví dụ
>Sử dụng continue trong callbacks
Nếu bạn muốn tiếp tục vòng lặp tiếp theo trong vòng lặp forEach(), hãy sử dụng return thay thế, hoặc chuyển đổi thành vòng lặp for...of.
js
array.forEach((value) => {
if (value === 5) {
continue; // SyntaxError: continue must be inside loop
}
// do something with value
});
js
array.forEach((value) => {
if (value === 5) {
return;
}
// do something with value
});
js
for (const value of array) {
if (value === 5) {
continue;
}
// do something with value
}