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