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.