Junior
Mire való a zárójel JavaScript-ben?
sobes.tech MI
Válasz az MI-től
A JavaScript-ben a lezárás (closure) egy olyan függvény, amely «emlékszik» arra a környezetre, amelyben létrejött, beleértve a külső hatókör változóihoz való hozzáférést, még akkor is, ha ez a külső függvény már befejeződött.
Ennek az oka:
- Az állapot megőrzése a függvényhívások között.
- Adatok kapszulázása, privát változók létrehozása.
- Függvények alapértelmezett paraméterekkel vagy részleges alkalmazással való megvalósítása.
- A React hook-okban a lezárások segítenek megőrizni a hozzáférést az állapothoz és a props-okhoz a függvényeken belül.
Példa:
function makeCounter() {
let count = 0;
return function() {
count += 1;
return count;
};
}
const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2
Ebben az esetben a belső függvény megőrzi a hozzáférést a count változóhoz a külső függvényből, még akkor is, ha a makeCounter befejeződött.