Sobes.tech
Junior — Middle

Puoi fare un esempio di quando in JavaScript si utilizza una closure per memorizzare dati o creare metodi privati?

sobes.tech AI

Risposta dell'AI

В JavaScript замыкания часто используются для создания приватных данных и методов, которые недоступны извне.

Пример:

function Counter() {
  let count = 0; // приватная переменная

  return {
    increment() {
      count++;
      return count;
    },
    getCount() {
      return count;
    }
  };
}

const counter = Counter();
console.log(counter.increment()); // 1
console.log(counter.getCount());  // 1
console.log(counter.count);       // undefined — доступ к count снаружи невозможен

Здесь count хранится в замыкании функции Counter и не доступен напрямую, что обеспечивает инкапсуляцию данных.