SobesLab логотип SobesLab

Ответ

Лексическое окружение – это внутренний механизм, с помощью которого JavaScript хранит и связывает идентификаторы (переменные, функции) с их значениями в определённой области видимости. Каждый блок кода (функция, или блок {...} при использовании let/const) создаёт своё лексическое окружение, содержащее запись всех локальных переменных и ссылки на внешнее (родительское) окружение. Когда интерпретатор ищет значение переменной, он сначала смотрит в текущем лексическом окружении, затем поднимается по цепочке внешних окружений (скоупов) вплоть до глобального. Концепция лексических окружений объясняет работу замыканий: замыкание сохраняет ссылку на внешнее окружение, в котором было создано, поэтому имеет доступ к тем переменным.