Junior
Na co je potřeba používat uzávěr v JavaScriptu?
sobes.tech AI
Odpověď od AI
Uzávěr (closure) v JavaScriptu je funkce, která si «pamatuje» prostředí, ve kterém byla vytvořena, včetně přístupu k proměnným z vnějšího rozsahu, i když tato vnější funkce již dokončila své provádění.
K čemu je to potřeba:
- Ukládání stavu mezi voláními funkcí.
- Zapouzdření dat, vytváření soukromých proměnných.
- Implementace funkcí s výchozími parametry nebo částečnou aplikací.
- V React hookách pomáhají uzávěry zachovat přístup ke stavu a props uvnitř funkcí.
Příklad:
function makeCounter() {
let count = 0;
return function() {
count += 1;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
Zde vnitřní funkce zachovává přístup k proměnné count z vnější funkce, i po dokončení makeCounter.