Sobes.tech
Junior — Middle

Jaka jest rola zamknięć (closures) w JavaScript i do czego są używane?

sobes.tech AI

Odpowiedź od AI

Zamknięcia (closures) w JavaScript to funkcje, które "zapamiętują" środowisko, w którym zostały utworzone, w tym dostęp do zmiennych z funkcji zewnętrznej, nawet po jej zakończeniu.

Rola zamknięć:

  • Pozwalają tworzyć prywatne zmienne i metody, kapsułkując dane.
  • Służą do tworzenia funkcji z zachowanym stanem.
  • Pomagają unikać zanieczyszczenia globalnej przestrzeni nazw.
  • Są używane w programowaniu funkcyjnym do tworzenia funkcji z częściowo zastosowanymi argumentami.

Przykład:

function makeCounter() {
  let count = 0; // prywatna zmienna
  return function() {
    count += 1;
    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, tworząc zamknięcie.