Sobes.tech
Middle

Mi az a closure? Tudnád elmagyarázni?

sobes.tech MI

Válasz az MI-től

Zárójel — ez egy függvény a létrehozásának lexikális környezetével együtt. Ez azt jelenti, hogy a függvény 'emlékszik' a külső láthatósági környezet változóira, még akkor is, ha ez a külső függvény már befejezte a végrehajtását.

Példa JavaScript-ben:

function makeCounter() {
  let count = 0;
  return function() {
    count++;
    return count;
  };
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2

Itt a belső függvény hozzáférést tart fenn a makeCounter külső függvény count változójához, így zárványt (closure) hoz létre. Ez lehetővé teszi az állapot megőrzését a függvényhívások között.