Что такое `Execution Context` и из чего он состоит?
Execution Context (EC) — внутренняя структура, которую движок JS создаёт при выполнении кода.
Виды EC:
- Global EC — создаётся один раз при запуске, привязан к
window/globalThis - Function EC — создаётся при каждом вызове функции
- Eval EC — создаётся при вызове
eval()
Компоненты EC:
LexicalEnvironment— дляlet,const,function declarations,classVariableEnvironment— дляvarThisBinding— значениеthisRealm— realm record (набор встроенных объектов)Function— ссылка на объект функции (null для Global EC)