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.