JavaScript Closures
A Closure entsteht, wenn a Funktion auf a Variable oda Funktion außahoib vo ihrem eigenen Scope zugreift. Im Grunde is a Closure a Funktion, de si an de Werte erinnert, de im umgebenden Scope vorhondn woan, wia's erstöt wurde.
Losst uns des an am Beispiel erklärn:
function greeting(name) {
return function() {
console.log("Hello, " + name + "!");
};
}
const greetJohn = greeting("John");
const greetMary = greeting("Mary");
greetJohn(); // Output: Hello, John!
greetMary(); // Output: Hello, Mary!
In dem Beispiel hom ma a Funktion namens "greeting", de a Closure zruckgibt, de den Namen speichert, der beim Aufruf von da "greeting"-Funktion übagebn wurde. Mia weisn dann de Closure jeder Person zu, de ma begrüßn wolln, indem ma's in Variablen speichern.
Wenn ma de gspeicherten Closures aufrufn, erinnern's si an den Namen, den's beim Erstöin kriegt hom, und gebn entsprechend "Hello, [Name]!" aus.
Closures kinnan sehr nützlich sei, um Daten zu vastecken und a saubere Schnittstelle für ondere Funktionen bereitzustöin. Sie kinnan oba a sehr varwirrend sei, wennst ned woaßt, wöche Variablen im Scope sand und wöche ned. Do foit ma glei amoi a Hirn aus.
Um sicherzustöin, dass Closures richtig funktionieren und ka unerwartete Ergebnisse liefern, is wichtig, den Scope genau zu vastehn und sicherzustöin, dass ma de Variablen und Funktionen richtig zugreift und valwendet.