🌐 JavaScript Grundlagen • Modul 01

JS 01: Variablen, Datentypen & Template-Strings

Lerne die Grundlagen des modernen ECMAScript (ES6+): Block-Scope mit const & let, Typ-Sicherheit und String-Interpolation.

💡 1. Praxis-Einstieg: Warum modernes JavaScript kein var mehr nutzt

In älterem JavaScript führte das Schlüsselwort var durch Funktions-Scoping und stilles Hoisting regelmäßig zu schwer auffindbaren Bugs. Seit ECMAScript 2015 (ES6) gilt der Strict Immutability Default:

  • const (Standard): Immer verwenden, es sei denn, der Wert muss später zwingend neu zugewiesen werden. Verhindert unbeabsichtigtes Überschreiben.
  • let: Nur verwenden, wenn die Variable ihren Wert ändern muss (z. B. Schleifenzähler oder Akkumulatoren).
  • var (Deprecated): Veraltet. Erzeugt globale Leaks und ignoriert Blockgrenzen (if, for).
Modernes ES6+ vs. Legacy JavaScript
// ✅ Best Practice: const für unveränderliche Bindungen
const maxRetries = 3;
const apiEndpoint = "https://api.portal.local/v1";

// ✅ let für Werte mit Lebenszyklus-Änderung
let currentAttempt = 0;
currentAttempt += 1;

// ⚡ Moderne String-Interpolation mit Backticks (Template Literals):
const logMessage = `[API] Versuch ${currentAttempt} von ${maxRetries} an ${apiEndpoint}`;
console.log(logMessage);

⚡ 2. Quick-Cheat-Sheet: Variablen & Typen auf einen Blick

Merkmal const let var (Veraltet)
Scope Block-Scope { ... } Block-Scope { ... } Function-Scope
Reassignment ❌ Verboten (TypeError) ✅ Erlaubt ✅ Erlaubt
Redeklaration ❌ SyntaxError ❌ SyntaxError ⚠️ Stillschweigend erlaubt
Hoisting / TDZ Temporal Dead Zone (ReferenceError) Temporal Dead Zone (ReferenceError) Initialisiert mit undefined

⚠️ 3. Häufige Stolperfallen (Gotchas)

🛑 Stolperfalle 1: "const bedeutet nicht tiefes Einfrieren!"
const schützt lediglich die Variablenzuweisung selbst. Bei Arrays und Objekten können die inneren Eigenschaften weiterhin mutiert werden:
const config = { theme: "dark" };
config.theme = "light"; // ✅ Funktioniert! Objekt-Inhalt mutiert.
config = { theme: "light" }; // ❌ TypeError: Assignment to constant variable!
💡 Stolperfalle 2: Die Temporal Dead Zone (TDZ)
Der Zugriff auf eine let- oder const-Variable vor ihrer Deklarationszeile führt nicht zu undefined, sondern stürzt mit einem ReferenceError ab. Deklariere Variablen daher immer am Anfang des Blocks.

🎯 Aufgaben & Checkliste für die Web-IDE

💻 In Web-IDE öffnen & lösen → Weiter zu JS 02 →