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