Назад к вопросам
Middle
105
questionbank
Какова роль замыканий в JavaScript, если не учитывать функции высшего порядка?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Замыкания позволяют функции "запоминать" и иметь доступ к переменным из окружающей лексической области видимости, даже после того, как эта область видимости завершила выполнение.
Это обеспечивает:
- Инкапсуляцию: Создание приватных переменных и методов.
- Сохранение состояния: Возможность сохранить значение переменной между вызовами функции.
- Создание фабрик функций: Генерация функций с предопределенным состоянием.
Пример инкапсуляции:
function createCounter() {
let count = 0; // Приватная переменная
return {
increment: function() {
count++;
return count;
},
decrement: function() {
count--;
return count;
},
getCount: function() {
return count;
}
};
}
const counter = createCounter();
// count недоступен напрямую извне
console.log(counter.increment()); // 1
console.log(counter.getCount()); // 1