Sobes.tech
Back to questions
Junior — Middle
112

Объясните, что такое замыкания (closures) в JavaScript и как они работают

Answer from AI

sobes.tech AI

Замыкания (closures) в JavaScript — это функции, которые «запоминают» окружение, в котором были созданы, включая доступ к переменным из внешних функций даже после того, как внешняя функция завершила выполнение.

Это позволяет внутренней функции иметь доступ к переменным внешней функции, сохраняя их состояние.

Пример:

function makeCounter() {
  let count = 0;
  return function() {
    count++;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Здесь функция, возвращаемая из makeCounter, замыкает переменную count, позволяя ей сохранять и изменять своё значение между вызовами.