SyntaxError: метка не найдена
Исключение JavaScript "label not found" возникает, когда оператор break или continue ссылается на метку, которая не существует ни в одном операторе, содержащем оператор break или continue.
Сообщение
SyntaxError: Undefined label 'label' (V8-based) SyntaxError: label not found (Firefox) SyntaxError: Cannot use the undeclared label 'label'. (Safari)
Тип ошибки
Что пошло не так?
В JavaScript метки очень ограничены: вы можете использовать их только с операторами break и continue, и вы можете перейти к ним только из оператора, содержащегося в помеченном операторе. Вы не можете перейти к этой метке из любой точки программы.
Примеры
Несинтаксический переход
Вы не можете использовать метки, как если бы они были goto.
start: console.log("Hello, world!");
console.log("Do it again");
break start;
Вместо этого вы можете использовать метки только для улучшения обычной семантики операторов break и continue.
start: {
console.log("Hello, world!");
if (Math.random() > 0.5) {
break start;
}
console.log("Maybe I'm logged");
}
Смотрите также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Label_not_found