SyntaxError: label not found

Die JavaScript-Ausnahme "label not found" tritt auf, wenn eine break- oder continue-Anweisung auf ein Label verweist, das bei keiner Anweisung existiert, welche 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

Was schiefgelaufen ist

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 Anweisung, die innerhalb der gelabelten Anweisung enthalten ist, zu ihnen springen. Sie können aus keinem anderen Teil des Programms zu diesem Label springen.

Beispiele

Unsynktaktischer Sprung

Sie können Labels nicht wie ein goto verwenden.

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