SyntaxError: continue muss innerhalb einer Schleife sein

Die JavaScript-Ausnahme "continue muss innerhalb einer Schleife sein" tritt auf, wenn eine continue-Anweisung nicht innerhalb einer Schleifenanweisung steht.

Nachricht

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. Die Verwendung an anderer Stelle führt zu einem Syntaxfehler. Alternativ können Sie einem continue-Statement ein Label geben, um eine mit diesem Label versehenen Schleife fortzusetzen – allerdings wird, wenn das Label keine enthaltene Anweisung referenziert, ein anderer Fehler SyntaxError: label not found ausgelöst. Wenn das Label eine Anweisung referenziert, die keine Schleife ist, wird weiterhin ein Syntaxfehler geworfen.

Beispiele

Verwendung von continue in Callbacks

Wenn Sie in einer forEach()-Schleife mit der nächsten Iteration fortfahren möchten, verwenden Sie stattdessen return oder konvertieren Sie zu einer 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