> Пример замыкания с внутренней функцией и предмет замыкания в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Кэтрид Диджитал
Стек: JavaScript
> Пример ответа
Замыкание (closure) в JavaScript - это комбинация функции и лексического окружения, в котором эта функция была объявлена. Внутренняя функция «запоминает» переменные из внешней функции даже после того, как внешняя функция завершила выполнение.
Пример:
JAVASCRIPTfunction createCounter() {let count = 0; // переменная из внешней функцииreturn function() { // внутренняя функция - замыканиеcount++;return count;};}const counter = createCounter();console.log(counter()); // 1console.log(counter()); // 2console.log(counter()); // 3
Предмет замыкания это сама внутренняя функция (function() { count++; return count; }), которая «захватывает» переменную count из лексического окружения createCounter. Даже после того, как createCounter завершила работу, counter продолжает иметь доступ к count, потому что замыкание хранит ссылку на это окружение. Таким образом, замыкание позволяет создавать приватные переменные и сохранять состояние между вызовами.
> Похожие задачи по frontend
Как обращаться к объекту массива через this в JavaScript
Для чего нужен оператор nullish coalescing (??) и как он работает в JavaScript
Чем собственные свойства отличаются от унаследованных в JavaScript
Какие способы есть для итерации по объекту в JavaScript кроме for-in
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью