Раздел 01 / Под капотом JavaScript

Как работает
Движок JavaScript

От строки кода до выполняемой программы.
Последовательно рассмотрим устройство движка на примерах и интерактивных схемах.

19 уроков~60–90 минут с практикойECMA-262 + V8
Начать раздел →
Основные механизмы движка
Исходный код → AST → Байткод
Ignition ↔ JIT
Стек вызовов + Куча объектов
Пройдено уроков0 / 19
Прогресс хранится в этом браузере

Содержание раздела

Уроки доступны отдельно и в последовательном порядке
  1. 01ECMAScript · Engine · RuntimeЯзык, движок и среда исполнения✓
  2. 02Общая картаКак V8 выполняет JavaScript✓
  3. 03Исходный текст → токеныScanner: узнаём слова языка✓
  4. 04Синтаксическое деревоAST: структура вместо строки✓
  5. 05Startup и lazy parsingНе всё нужно компилировать сразу✓
  6. 06AST → инструкцииБайткод: инструкции для Ignition✓
  7. 07Исполнение байткодаКак работает интерпретатор✓
  8. 08Байткод → машинный кодJIT: зачем движку V8 несколько компиляторов✓
  9. 09Feedback → specialization → deoptОптимизация строится на предположениях✓
  10. 10Вызов → возвратCall Stack: кто выполняется сейчас✓
  11. 11Параметры и возвратКадр стека: что движок хранит для вызова✓
  12. 12Объекты и ссылкиMemory Heap: где хранятся объекты✓
  13. 13Объект и ссылка на негоИзменить объект или заменить ссылку?✓
  14. 14ДостижимостьGC ищет достижимые объекты✓
  15. 15Lifecycle сценыУтечка: объект всё ещё нужен по графу✓
  16. 16ПотокиПотоки JavaScript✓
  17. 17Инженерная практикаПроизводительность игры✓
  18. 18ПовторениеОбщая схема работы движка✓
  19. 19СамопроверкаПроверка понимания✓