Junior — Middle
Jaká je role uzávěrek (closures) v JavaScriptu a k čemu se používají?
sobes.tech AI
Odpověď od AI
Uzávěry (closures) v JavaScriptu jsou funkce, které si "pamatují" prostředí, ve kterém byly vytvořeny, včetně přístupu k proměnným z vnější funkce i po jejím ukončení.
Role uzávěrek:
- Umožňují vytvářet soukromé proměnné a metody, kapsulací dat.
- Používají se k vytváření funkcí se zachovaným stavem.
- Pomáhají zabránit znečištění globálního prostoru.
- Jsou využívány v funkcionálním programování k vytváření funkcí s částečně aplikovanými argumenty.
Příklad:
function makeCounter() {
let count = 0; // soukromá proměnná
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, čímž vytváří uzávěr.