Показать сообщение отдельно
  #11 (permalink)  
Старый 13.08.2015, 09:42
Аватар для kolka
Кандидат Javascript-наук
Отправить личное сообщение для kolka Посмотреть профиль Найти все сообщения от kolka
 
Регистрация: 07.06.2010
Сообщений: 146

Сообщение от nohuhu Посмотреть сообщение
Я не большой специалист в Cmd, но с ребятами общался на эту тему. Весь код JavaScript парсится, токенизируется лексером и превращается в AST дерево. Потом по нему проходятся оптимизатором, пылесосом и добавляют ложку дёгтя. В конечной стадии AST дерево форматируется обратно в JavaScript код. Здесь важно понимать, что текст скомпилированного кода не имеет прямого отношения к изначальному, он проходит через бинарную стадию и оригинальный исходник теряется. Поэтому форматирование неизбежно.



А и не найдёте. Есть несколько таких мест, в которых наш компилятор вставляет "лишние" точки с запятой. Причина проста, хотя и не очевидна: в JavaScript есть одна говнофича под названием Automatic Semicolon Injection. Это когда вы можете забыть точку с запятой в конце строки, а код вроде работает и всё какбэ хорошо.

Спасибо за развернутый ответ.
Очень полезно.
Ответить с цитированием