Я думал, что двоеточия могут работать только в объектных литералах. Но когда я запустил следующий код, браузер не выдал никаких ошибок. И я также не могу понять, что делает двоеточие в функции.
Вот мой код:
var testFn = () => {
abc: 1;
}
testFn();
Вы можете сказать мне, что делает этот код?
чтобы ответить на ваш вопрос "что делает этот код", как написано, testFn абсолютно ничего не делает и приводит к возвращаемому значению undefined - тогда как автор, вероятно, имел в виду var testFn = () => ({ abc: 1; });, который вернет объект {abc:1}
@JaromandaX: Это синтаксическая ошибка, поскольку литерал объекта не имеет точки с запятой. (Впрочем, Нитпик; я считаю, что ваше впечатление о намерениях автора верно.)
@JaromandaX, я предполагаю, что топикстартер выдаст нормальный код с меткой. Пожалуйста, посмотрите здесь - developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Ага. Забыл убрать перемещенный; в том, что, как я предполагал, были намерены авторами. Я знаю о ярлыках, но ярлык в этом коде имеет еще меньше смысла.
@CertainPerformance Спасибо за внимание. Я прочитал документацию MDN о лейбле. Было упомянуто, что отмеченная функция доступна в нестрогом режиме. Но когда я пытаюсь использовать его в chome 67, появляется сообщение об ошибке: Undefined label 'block1'. Я не уверен, неправильно ли я кодирую или хром не поддерживает его. У вас есть для этого пример?
В вашем вопросе нет кода, который вызывает метку, и нет метки block1. Кроме того, это похоже на несвязанный вопрос; если да, просьба представить это как таковое. Если это все еще связано с этим вопросом, добавьте достаточно подробностей, чтобы мы могли его увидеть и ответить.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Посмотрите ярлыки.