Sobes.tech
Middle

Mi az a closure JavaScriptben? Adj egy példát.

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» a lexikális környezetére, még akkor is, ha azt a saját eredeti hatókörén kívül hívják meg. Ez lehetővé teszi a függvény számára, hogy hozzáférjen a külső függvény változóihoz, még akkor is, ha a külső függvény már befejezte a futását.

Példa:

function makeCounter() {
  let count = 0;
  return function() {
    count++;
    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 makeCounter külső függvényből, így létrehozva egy lezárást (closure).