Может кто-нибудь объяснить мне, как «пустое утверждение» в javaScript влияет на «Автоматическое c Точка с запятой» - PullRequest
0 голосов
/ 25 апреля 2020

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

1 Ответ

1 голос
/ 25 апреля 2020

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

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

return
  { propertyName: "something" };

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

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

var x; ;

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...