Sobes.tech
Junior — Middle

Kun je uitleggen wat een closure is in JavaScript en hoe het werkt?

sobes.tech AI

Antwoord van AI

Closure in JavaScript is een functie die het omgevingsgevoel «onthoudt» waarin het is gemaakt, zelfs als die omgeving niet meer actief is. Simpel gezegd, een functie binnen een andere functie kan na het voltooien toegang krijgen tot de variabelen van de externe functie.

Dit werkt omdat bij het maken van een functie een verwijzing wordt opgeslagen naar de lexicale omgeving waarin deze is gedeclareerd.

Voorbeeld:

function buiten() {
  let teller = 0;
  return function binnen() {
    teller++;
    console.log(teller);
  };
}

const teller = buiten();
teller(); // 1
teller(); // 2

Hier sluit binnen de variabele teller van buiten af en bewaart de staat tussen de aanroepen.