Spec-Zone.ru › JavaScript

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)

Тип ошибки

SyntaxError.

Что пошло не так?

В 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API