Привет всем! Я изучаю JavaScript и наткнулся на странную штуку. Всегда думал, что двоеточие используется только в объектах для создания пар ключ-значение. Но недавно написал код с двоеточием внутри обычной функции и браузер не выдал никаких ошибок. Это меня сильно удивило.
var myFunction = () => {
label: 42;
}
myFunction();
Код работает без проблем, но я не понимаю что именно делает эта строчка с двоеточием внутри функции. Может кто-то объяснить что здесь происходит? Это какой-то особый синтаксис или я что-то пропустил в изучении языка?
Хм, интересно что наткнулся на это. Да, это метки, но смысл есть только с циклами. Использовал раз в проекте с вложенными циклами - нужно было выйти из обоих сразу. Код типа outerLoop: for(...) { for(...) { break outerLoop; } }
. Работает, но читается ужасно. Твой пример с label: 42
- валидный синтаксис, который ничего не делает. JS просто игнорирует такие висячие метки.
Да, это метки - довольно экзотическая фича! Я тоже офигел, когда впервые увидел. Кстати, где ты с таким столкнулся? Просто любопытно - в реальных проектах это встречается крайне редко. Обычно только в олдскульных примерах или legacy коде.