Sobes.tech
Junior — Middle
116

JavaScript-те деректерді инкапсуляциялау үшін жабық функцияларды қалай қолдануға болады?

AI-дан жауап

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