Sobes.tech
Middle

Czym jest zamknięcie w JavaScript? Podaj przykład.

sobes.tech AI

Odpowiedź od AI

Zamknięcie w JavaScript to funkcja, która «zapamiętuje» swoje środowisko leksykalne, nawet jeśli jest wywoływana poza swoim pierwotnym zakresem. Pozwala to funkcji mieć dostęp do zmiennych z funkcji zewnętrznej po tym, jak ta funkcja już się zakończyła.

Przykład:

function makeCounter() {
  let count = 0;
  return function() {
    count++;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Tutaj, wewnętrzna funkcja zachowuje dostęp do zmiennej count z funkcji zewnętrznej makeCounter, tworząc zamknięcie.