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.