Closures in JavaScript
Lassen Sie uns nun das Konzept Closure (closure) studieren. Tatsächlich sind Sie bereits mit diesem Konzept vertraut, es bleibt nur, die korrekte Terminologie zu erfahren.
Ein Closure ist also eine Funktion zusammen mit allen externen Variablen, die ihr zugänglich sind. Oder, anders gesagt, ein Closure ist eine Funktion zusammen mit ihrer lexikalischen Umgebung.
In JavaScript meint man, wenn man von "Closure einer Funktion" spricht, meist nicht die Funktion selbst, sondern genau ihre externen Variablen. Wenn eine Funktion eine Variable aus ihrer lexikalischen Umgebung erhält, dann sagt man "die Variable wird aus dem Closure genommen".
Erinnern wir uns an den Code, den wir in der vorherigen Lektion erstellt haben:
function test() {
let num = 1;
return function() {
console.log(num);
}
}
let func = test();
func(); // gibt 1 aus
In diesem Fall kann man sagen, dass die Funktion
func den Wert der Variable
num aus dem Closure erhält. Man kann auch sagen,
dass die Funktion func den Wert der Variable
num im Closure speichert.