Back to questions
Junior — Middle
83
Можете объяснить, что представляет собой замыкание в языке JavaScript и как оно работает?
Answer from AI
sobes.tech AI
Замыкание в JavaScript — это функция, которая «запоминает» окружение, в котором была создана, даже если это окружение уже не активно. Проще говоря, функция внутри другой функции может получить доступ к переменным внешней функции после того, как внешняя функция завершила выполнение.
Это работает благодаря тому, что при создании функции сохраняется ссылка на лексическое окружение, где она была объявлена.
Пример:
function outer() {
let count = 0;
return function inner() {
count++;
console.log(count);
};
}
const counter = outer();
counter(); // 1
counter(); // 2
Здесь inner замыкает переменную count из outer, сохраняя её состояние между вызовами.