JavaScript Mittelstufe Tag 1: Scope & Closures

Ziel dieses Tages

Heute wirst du lernen:

Am Ende verstehst du, wie Variablen in JavaScript funktionieren und wie lange sie “leben”.

Schritt 1: Scope

Scope bestimmt, wo eine Variable verfügbar ist.

Schritt 2: Closures

Eine Closure ist eine Funktion, die sich an Variablen aus ihrem äußeren Scope erinnert, auch wenn dieser bereits ausgeführt wurde.


function outer() {
  let count = 0;

  return function inner() {
    count++;
    return count;
  };
}

const counter = outer();
console.log(counter()); // 1
console.log(counter()); // 2

Erklärung:

Übung


function outer() {
  let count = 0;

  return function inner() {
    count++;
    return count;
  };
}

const counter = outer();
console.log(counter()); // 1
console.log(counter()); // 2

Aufgabe

Erstelle eine Counter-Funktion mit Closure, die:

Beispiel:


function createCounter() {
  let count = 0;

  return function() {
    count++;
    return count;
  };
}

const myCounter = createCounter();
console.log(myCounter()); // 1
console.log(myCounter()); // 2
console.log(myCounter()); // 3