JavaScript · Junior · Frage 18 von 75
Was gibt dieser Code aus?
function makeCounter() {
let count = 0;
return () => ++count;
}
const c = makeCounter();
c(); c();
console.log(c());- 1
1 - 2
0 - 3
3
Antwort zeigen
Richtige Antwort: 3
Erklärung
Das ist eine Closure: Die zurückgegebene Funktion merkt sich die Variable count aus dem Gültigkeitsbereich, in dem sie entstanden ist, und jeder Aufruf erhöht sie. Ein erneuter Aufruf von makeCounter() würde einen unabhängigen Zähler erzeugen.