Middle
Ako funguje uzáver v JavaScripte? Vysvetlite na príklade premennej index a funkcie run vo vašom riešení.
sobes.tech AI
Odpoveď od AI
V JavaScripte je uzávier (closure) funkcia, ktorá si pamätá svoje lexikálne prostredie, aj keď je volaná mimo svojho rozsahu.
Pozrime sa na príklad s premennou index a funkciou run:
function createRunner() {
let index = 0;
function run() {
console.log(index);
index++;
}
return run;
}
const runner = createRunner();
runner(); // 0
runner(); // 1
runner(); // 2
Tu funkcia run uzatvára premennú index z vonkajšej funkcie createRunner. Aj keď createRunner už ukončila svoje vykonávanie, run má naďalej prístup k index a môže ho meniť. To umožňuje zachovať stav medzi volaniami funkcie run.
Týmto spôsobom uzávery umožňujú vytvárať funkcie s privátnymi premennými a zachovávať stav bez použitia globálnych premenných.