Какие области видимости есть в JavaScript и как разрешаются имена во вложенных областях?

В JavaScript есть глобальная, модульная, функциональная и блочная области видимости. Имя ищется от текущей области наружу по лексической вложенности.

Короткий ответ

Что ответить на собеседовании

В JavaScript есть глобальная, модульная, функциональная и блочная области видимости. Имя ищется от текущей области наружу по лексической вложенности.

Подробный разбор

Ответ с пояснениями

В JavaScript есть глобальная, модульная, функциональная и блочная области видимости. Имя ищется от текущей области наружу по лексической вложенности.

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее