File size: 2,136 Bytes
780c9fe |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
---
title: "SyntaxError: continue must be inside loop"
slug: Web/JavaScript/Reference/Errors/Bad_continue
page-type: javascript-error
sidebar: jssidebar
---
The JavaScript exception "continue must be inside loop" occurs when a {{jsxref("Statements/continue", "continue")}} statement is not inside a loop statement.
## Message
```plain
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)
```
## Error type
{{jsxref("SyntaxError")}}.
## What went wrong?
{{jsxref("Statements/continue", "continue")}} statements can be used to continue a loop, and using them elsewhere is a syntax error. Alternatively, you can provide a [label](/en-US/docs/Web/JavaScript/Reference/Statements/label) to the `continue` statement to continue any loop with that label — however, if the label does not reference a containing statement, another error [SyntaxError: label not found](/en-US/docs/Web/JavaScript/Reference/Errors/Label_not_found) will be thrown, and if the label references a statement that is not a loop, a syntax error is still thrown.
## Examples
### Using continue in callbacks
If you want to proceed with the next iteration in a {{jsxref("Array/forEach", "forEach()")}} loop, use {{jsxref("Statements/return", "return")}} instead, or convert it to a {{jsxref("Statements/for...of", "for...of")}} loop.
```js-nolint example-bad
array.forEach((value) => {
if (value === 5) {
continue; // SyntaxError: continue must be inside loop
}
// do something with value
});
```
```js example-good
array.forEach((value) => {
if (value === 5) {
return;
}
// do something with value
});
```
```js example-good
for (const value of array) {
if (value === 5) {
continue;
}
// do something with value
}
```
## See also
- {{jsxref("Statements/continue", "continue")}}
|