Syntax & Variablen
let, const, var
const PI = 3.14159; // konstant, kein Re-assign let x = 5; // veränderlich, Block-Scope x = 10; // OK var alt = "veraltet"; // function-Scope, vermeiden
| Keyword | Scope | Re-assign | Hoisting |
|---|---|---|---|
| const | Block | nein | TDZ* |
| let | Block | ja | TDZ* |
| var | Function | ja | auf undefined |
* TDZ = Temporal Dead Zone — Zugriff vor Deklaration wirft ReferenceError.
Datentypen — primitiv vs. Objekt
// Primitive (immutable)
"text", 42, true, undefined, null, Symbol(), 12n
// Objekte (reference)
{name: "Anna"}, [1, 2, 3], () => {}, new Date()Vergleichsoperatoren — == vs. ===
5 == "5" // true (Type Coercion) 5 === "5" // false (strict) 0 == false // true 😱 0 === false // false
Goldene RegelImmer === verwenden! Außer in seltenen Fällen, wo Type-Coercion gewünscht ist (z. B.
x == null erfasst sowohl null als auch undefined).