Назад к вопросам
СБЕР
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 завершила выполнение. Это позволяет создавать приватные переменные и реализовывать инкапсуляцию.