Sobes.tech
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, сохраняя её состояние между вызовами.