Middle
Hoe werkt een closure in JavaScript? Leg uit met een voorbeeld van de variabele index en de functie run in jouw oplossing.
sobes.tech AI
Antwoord van AI
In JavaScript is een closure een functie die zijn lexicale omgeving onthoudt, zelfs als deze buiten zijn scope wordt aangeroepen.
Laten we een voorbeeld bekijken met de variabele index en de functie run:
function createRunner() {
let index = 0;
function run() {
console.log(index);
index++;
}
return run;
}
const runner = createRunner();
runner(); // 0
runner(); // 1
runner(); // 2
Hier sluit de functie run de variabele index af uit de externe functie createRunner. Hoewel createRunner zijn uitvoering al heeft voltooid, blijft run toegang houden tot index en kan deze wijzigen. Dit maakt het mogelijk om de staat tussen de aanroepen van de functie run te behouden.
Op deze manier maken closures het mogelijk om functies te creëren met private variabelen en de staat te behouden zonder gebruik te maken van globale variabelen.