Sobes.tech
Middle

Czym jest zamknięcie? Czy możesz to wyjaśnić?

sobes.tech AI

Odpowiedź od AI

Zamknięcie — to funkcja wraz z jej środowiskiem leksykalnym, w którym została utworzona. Oznacza to, że funkcja 'zapamiętuje' zmienne z zewnętrznego zakresu, nawet jeśli ta zewnętrzna funkcja już się zakończyła.

Przykład w JavaScript:

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 makeCounter, tworząc zamknięcie. To pozwala na zachowanie stanu między wywołaniami funkcji.