Sobes.tech
Back to questions
Middle+
1

Реализуй функцию-счётчик с замыканием, где счётчик нельзя изменить извне.

Companies where asked
Tilda

Answer from AI

sobes.tech 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 инкапсулирована и доступна только через методы объекта.