Javascript странный синтаксис, который работает - но как?
Что означает следующий код? (это не json - это код, который не генерирует ошибку интерпретатором js)
foo: 5
Причина вопроса заключается в следующем. В примерах со стрелками есть пример, показывающий путаницу между синтаксисом json и кодовым блоком:
var func = () => { foo: 1 };
Функция func() возвращает неопределенное значение, и приведенный выше код не вызывает ошибки. Я пытался поместить только код foo: 5 как единственный код в модуль js - и это работает... Я не знаю ни об операторе ':', ни о метках в js.
1 ответ
Это метка JavaScript: документация здесь.
Вы можете использовать метку для идентификации цикла, а затем использовать операторы break или continue, чтобы указать, должна ли программа прерывать цикл или продолжать его выполнение.
Обратите внимание, что в JavaScript нет оператора goto, вы можете использовать только метки с break или continue.
Пример использования (из MDN)
var itemsPassed = 0;
var i, j;
top:
for (i = 0; i < items.length; i++){
for (j = 0; j < tests.length; j++) {
if (!tests[j].pass(items[i])) {
continue top;
}
}
itemsPassed++;
}