Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

SyntaxError: label not found

Der JavaScript-Ausnahmefehler "label not found" tritt auf, wenn eine break- oder continue-Anweisung auf ein Label verweist, das in keiner Anweisung existiert, die die break- oder continue-Anweisung enthält.

Nachricht

SyntaxError: Undefined label 'label' (V8-based)
SyntaxError: label not found (Firefox)
SyntaxError: Cannot use the undeclared label 'label'. (Safari)

Fehlertyp

SyntaxError.

Was ist schiefgelaufen?

In JavaScript sind Labels sehr eingeschränkt: Sie können sie nur mit break- und continue-Anweisungen verwenden, und Sie können nur von einer innerhalb der gelabelten Anweisung enthaltenen Anweisung zu ihnen springen. Sie können nicht von irgendwo im Programm zu diesem Label springen.

Beispiele

>

Unsynktaktischer Sprung

Sie können Labels nicht so verwenden, als wären sie goto.

js
start: console.log("Hello, world!");
console.log("Do it again");
break start;

Stattdessen können Sie Labels nur verwenden, um die normalen Semantiken von break- und continue-Anweisungen zu erweitern.

js
start: {
  console.log("Hello, world!");
  if (Math.random() > 0.5) {
    break start;
  }
  console.log("Maybe I'm logged");
}

Siehe auch