Middle
Jak funguje uzávěr v JavaScriptu? Vysvětlete na příkladu proměnné index a funkce run ve vašem řešení.
sobes.tech AI
Odpověď od AI
V JavaScriptu je uzávěr (closure) funkce, která si pamatuje své lexikální prostředí, i když je volána mimo svůj rozsah.
Podívejme se na příklad s proměnnou index a funkcí run:
function createRunner() {
let index = 0;
function run() {
console.log(index);
index++;
}
return run;
}
const runner = createRunner();
runner(); // 0
runner(); // 1
runner(); // 2
Zde funkce run uzavírá proměnnou index z vnější funkce createRunner. I když createRunner již dokončila svůj běh, run má stále přístup k index a může jeho hodnotu měnit. To umožňuje uchovávat stav mezi voláními funkce run.
Tímto způsobem umožňují uzávěry vytvářet funkce s privátními proměnnými a uchovávat stav bez použití globálních proměnných.