Область видимости определяет, где доступно имя. let, const и class имеют блочную область, var — функциональную либо соответствующую область верхнего уровня.
Что такое область видимости? У каких переменных какие области видимости?
Область видимости определяет, где доступно имя. let, const и class имеют блочную область, var — функциональную либо соответствующую область верхнего уровня.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Область видимости определяет, где доступно имя. let, const и class имеют блочную область, var — функциональную либо соответствующую область верхнего уровня.
Вложенная функция видит внешние лексические bindings, что связано с замыканиями. Объявление и доступность до строки объявления — отдельный вопрос: у let/const есть temporal dead zone. ES-модуль имеет собственную область; верхний уровень скрипта и модуля ведёт себя по-разному. Параметры функции доступны внутри неё, но не снаружи.