Sobes.tech
Назад к вопросам
Junior — Middle
93

Можете объяснить, что представляет собой замыкание в программировании?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Замыкание — это функция, которая «запоминает» своё лексическое окружение, то есть переменные, доступные в момент её создания, даже если эта функция вызывается вне этого окружения.

Пример на JavaScript (Node.js):

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

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

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