Wie funktionieren Closures in JavaScript? Erklären Sie an einem einfachen Beispiel
Hallo zusammen! Ich habe gerade angefangen, JavaScript zu lernen und verstehe das Thema Closures einfach nicht. Ich habe verschiedene Artikel gelesen, bin aber immer noch verwirrt.
Hier ist zum Beispiel ein Code:
>>
function counter() {
let count = 0;
return function() {
count++;
return count;
};
}
const myCounter = counter();
console.log(myCounter()); // 1
console.log(myCounter()); // 2
console.log(myCounter()); // 3
Warum wird die Variable count nicht jedes Mal zurückgesetzt? Die Funktion counter() hat ihre Arbeit bereits beendet, aber wir können ihre interne Variable immer noch ändern. Ich hatte erwartet, dass die Variable count nach dem ersten Aufruf von myCounter() zerstört wird, da sie innerhalb der Funktion deklariert ist.
Und noch eine Frage: Wozu braucht man Closures überhaupt? In welchen realen Situationen werden sie angewendet? Ich wäre dankbar für eine einfache Erklärung mit Beispielen, am besten auf Russisch. Vielen Dank im Voraus!
<<Was ist ein Closure und wie funktioniert es?
Ein Closure (deutsch: Schließung) ist ein