Sobes.tech
Junior — Middle

Mi a szerepe a closure-nek JavaScriptben, és mire használják őket?

sobes.tech MI

Válasz az MI-től

A JavaScript-ben a lezárások (closures) olyan függvények, amelyek "emlékeznek" arra a környezetre, amelyben létrejöttek, beleértve a külső függvény változóihoz való hozzáférést még akkor is, ha az már befejeződött.

A lezárások szerepe:

  • Lehetővé teszik privát változók és metódusok létrehozását, adatok kapszulázásával.
  • Olyan függvények létrehozására használják, amelyek megőrzik az állapotukat.
  • Segítenek elkerülni a globális névtér szennyezését.
  • Funkcionális programozásban használják, részben alkalmazott argumentumokkal rendelkező függvények létrehozására.

Példa:

function makeCounter() {
  let count = 0; // privát változó
  return function() {
    count += 1;
    return count;
  };
}

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

Itt a belső függvény megőrzi a hozzáférést a külső függvény count változójához, létrehozva egy lezárást.