Sobes.tech
Назад к вопросам
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. Это позволяет контролировать доступ и изменение данных, реализуя инкапсуляцию с помощью замыканий.