Чтобы свести эту главу к одному полезному выводу, ключевая идея лексической области видимости заключается в том, что она полностью определяется размещением функций, блоков и объявлений переменных относительно друг друга.
Если объявление переменной размещается внутри функции, компилятор обрабатывает его в процессе разбора функции и связывает это объявление с областью видимости функции. Если переменная объявлена с блоковой областью видимости (let/const), то она связывается с ближайшим вмещающим блоком {..} вместо вмещающей функции (как с ключевым словом var).
Вы пока еще не знаете JS} Область видимости и замыкания
·
Кайл Симпсон