Весь код JavaScript необходимо размещать и запускать в какой-либо среде. В большинстве случаев такой средой будет веб-браузер.

Браузер изначально не понимает высокоуровневый код JavaScript, который мы пишем в наших приложениях. Его нужно преобразовать в машинопонятный код. Эту работу выполняет JavaScript Engine

Затем движок браузера создает специальную среду для преобразования и выполнения кода JavaScript. Эта среда известна как Execution Context

Контекст выполнения содержит два компонента: Memory Component и Code Component.

Компонент памяти также называется Variable Environment. Он содержит переменные и функции в виде Key : Value пар.

Компонент кода — это место, где выполняется весь код JavaScript. Компонент кода также известен как Thread of Execution.