SyntaxError: continue muss innerhalb einer Schleife sein

Der JavaScript-Ausnahmefehler "continue must be inside loop" tritt auf, wenn eine continue-Anweisung außerhalb einer Schleifenanweisung verwendet wird.

Meldung

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)

Fehlertyp

Was ist schiefgelaufen?

continue-Anweisungen können verwendet werden, um eine Schleife fortzusetzen, und ihre Verwendung außerhalb davon führt zu einem Syntaxfehler. Alternativ können Sie ein Label für die continue-Anweisung angeben, um eine beliebige Schleife mit diesem Label fortzusetzen — jedoch, wenn das Label sich nicht auf eine enthaltende Anweisung bezieht, wird ein anderer Fehler SyntaxError: label not found ausgelöst, und wenn das Label sich auf eine Anweisung bezieht, die keine Schleife ist, wird dennoch ein Syntaxfehler ausgelöst.

Beispiele

Verwendung von continue in Rückruffunktionen

Wenn Sie in einer forEach()-Schleife zur nächsten Iteration übergehen möchten, verwenden Sie stattdessen return oder konvertieren Sie sie in eine for...of-Schleife.

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
}

Siehe auch