Sobes.tech
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.