Middle
Co je to uzávěr? Můžeš to vysvětlit?
sobes.tech AI
Odpověď od AI
Uzávěr — je funkce spolu s jejím lexikálním prostředím, ve kterém byla vytvořena. To znamená, že funkce „pamatuje“ proměnné z vnějšího rozsahu, i když tato vnější funkce již dokončila své provádění.
Příklad v JavaScriptu:
function makeCounter() {
let count = 0;
return function() {
count++;
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 makeCounter, čímž vzniká uzávěr (closure). To umožňuje uchovávat stav mezi voláními funkce.