Closures
Mit Closures können wir auf Variablen zugreifen, die eigentlich gar nicht mehr existieren sollten.
const secureBooking = function () {
let passengerCount = 0;
return function () {
passengerCount++;
console.log(`${passengerCount} passengers`);
};
};
const booker = secureBooking();
booker(); // 1 passengers
booker(); // 2 passengers
booker(); // 3 passengers
Hier hat also die Funktion booker()
Zugriff auf den aktuellen Status der Variable passengerCount
, obwohl diese nur im äusseren Scope existiert.
Beispiele
let f;
const g = function () {
const a = 23;
f = function () {
console.log(a * 2);
};
};
g();
f(); // 46
const h = function () {
const b = 777;
f = function () {
console.log(b * 2);
};
};
// Re-assigning f function
h();
f(); // 1554
VorherigeFirst-Class und Higher-Order-FunktionenNächsteIIFE (Immediately Invoked Function Expressions)
Zuletzt aktualisiert