Что такое замыкание? В чём отличие var от let?

Замыкание — функция вместе с доступом к лексическому окружению её создания. Var имеет функциональную область, let — блочную.

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

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

Замыкание — функция вместе с доступом к лексическому окружению её создания. Var имеет функциональную область, let — блочную.

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

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

Замыкание — функция вместе с доступом к лексическому окружению её создания. Var имеет функциональную область, let — блочную.

Обращение к var до присваивания даёт undefined, к let до инициализации — ошибку TDZ. В цикле let может создавать отдельную привязку для каждой итерации, а var оставляет общую. Замыкание хранит доступ к привязке, а не обязательно неизменяемую копию значения.

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

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

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

Подробнее