Может ли кто-нибудь объяснить мне, как на "пустой оператор" в javaScript влияет "Автоматическая вставка точки с запятой"

Может ли кто-нибудь объяснить мне, как на "пустой оператор" в javaScript влияет "Автоматическая вставка точки с запятой". На веб-сайте MDN указано, что на пустой оператор влияет автоматическая вставка точки с запятой, хотя в спецификации ECMAScript это не указано, может кто-нибудь объяснить это мне и может кто-нибудь объясните мне, в чем разница между точкой с запятой и пустым заявлением

1 ответ

Решение

Прочтите спецификацию, указанную на странице MDN. Пустой оператор "затронут", потому что ASI не будет выполняться, если вставленная точка с запятой приведет к пустому оператору.

Отжимания рук при возникновении ASI можно избежать, просто явно включив точку с запятой. Самая распространенная ошибка ИСИ - этоreturn заявление, при попытке чего-то вроде

return
  { propertyName: "something" };

Не делай этого. Запустите инициализатор объекта в той же строке, что иreturn.

Что касается разницы между точкой с запятой и пустым оператором: точка с запятой является границей. В следующем коде:

var x; ;

Есть varоператор объявления, затем пустой оператор. Вторая точка с запятой не является частью пустого оператора, но подразумевает, что перед ней стоит пустой оператор.

Другие вопросы по тегам