Во многих ситуациях парсеры JavaScript вставляют точки с запятой для вас, если вы их не оставляете. Мой вопрос: вы их не оставляете?
Если вы не знакомы с правилами, там есть описание точки с запятой на сайте Mozilla. Здесь ключевой момент:
Если первый с помощью токенов n th в форме программы JavaScript является грамматически допустимым, но первый с помощью токенов n + 1 st не существует и существует строка перерыв между токенами n th и токенами n + 1 st тогда синтаксический анализатор пытается снова проанализировать программу после вставки символа виртуальной точки с запятой между n th и токены n + 1 st.
Это описание может быть неполным, поскольку оно не объясняет пример @Dreas. У кого-нибудь есть ссылка на полные правила или на какой пример получается точка с запятой? (Я попробовал это в JScript.NET.)
qaru.site/info/7052/... связан, но говорит только о конкретном сценарии.