Sobes.tech
Junior

Do czego służy używanie zamknięcia w JavaScript?

sobes.tech AI

Odpowiedź od AI

Zamknięcie (closure) w JavaScript to funkcja, która «zapamiętuje» środowisko, w którym została utworzona, w tym dostęp do zmiennych z zewnętrznego zakresu, nawet jeśli ta zewnętrzna funkcja już zakończyła działanie.

Do czego to służy:

  • Zachowanie stanu między wywołaniami funkcji.
  • Enkapsulacja danych, tworzenie prywatnych zmiennych.
  • Implementacja funkcji z parametrami domyślnymi lub częściowym zastosowaniem.
  • W hookach React, zamknięcia pomagają zachować dostęp do stanu i propsów wewnątrz funkcji.

Przykład:

function makeCounter() {
  let count = 0;
  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, nawet po zakończeniu makeCounter.