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
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");
}