Middle+
Implementa una funzione contatore con closure, dove il contatore non può essere modificato dall'esterno.
sobes.tech AI
Risposta dell'AI
Вот пример функции-счётчика на JavaScript с использованием замыкания, где внутреннее значение счётчика недоступно извне и может изменяться только через методы:
function createCounter() {
let count = 0; // приватная переменная
return {
increment() {
count++;
return count;
},
decrement() {
count--;
return count;
},
getValue() {
return count;
}
};
}
const counter = createCounter();
console.log(counter.increment()); // 1
console.log(counter.increment()); // 2
console.log(counter.getValue()); // 2
// Нельзя напрямую изменить count, например counter.count = 100 не повлияет на внутреннее значение
Таким образом, переменная count инкапсулирована и доступна только через методы объекта.