Junior — Middle
Как могат да се използват затварянията за постигане на инкапсулация на данни в JavaScript?
sobes.tech AI
Отговор от 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); // не е дефинирано — директен достъп не е възможен
Тук count не е достъпно директно от външния код, но е достъпно чрез методите increment и getCount. Това позволява контрол върху достъпа и промяната на данните, реализирайки капсулация чрез затваряния.