В JavaScript есть глобальная, модульная, функциональная и блочная области видимости. Имя ищется от текущей области наружу по лексической вложенности.
Какие области видимости есть в JavaScript и как разрешаются имена во вложенных областях?
В JavaScript есть глобальная, модульная, функциональная и блочная области видимости. Имя ищется от текущей области наружу по лексической вложенности.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В JavaScript есть глобальная, модульная, функциональная и блочная области видимости. Имя ищется от текущей области наружу по лексической вложенности.
Let/const подчиняются блоку, var — функции или соответствующему верхнему окружению. Внутреннее объявление может затенять внешнее. Замыкание сохраняет доступ к лексическому окружению, а не выбирает переменные по месту последующего вызова функции.