Kurz: Eine Variable ist ein benannter Speicherplatz für einen Wert. In modernem JavaScript legst du Variablen mit let oder const an.
Teil des Kurses JavaScript
Kapitel 3 von 40 im Kurs JavaScript. Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.
Eine Variable ist ein benannter Speicherplatz für einen Wert. In modernem JavaScript legst du Variablen mit let oder const an.
let alter = 17;
const name = "Mia";
console.log(name, "ist", alter);
alter = 18; // let erlaubt Änderungen
console.log(name, "ist jetzt", alter);Ausgabe:
Mia ist 17
Mia ist jetzt 18let, const und var
| Schlüsselwort | Neu zuweisen? | Gültigkeit | Empfehlung |
|---|---|---|---|
const | nein | Block | Standardwahl |
let | ja | Block | wenn sich der Wert ändert |
var | ja | Funktion | veraltet, vermeiden |
Faustregel: Nimm const, solange du den Wert nicht neu zuweist, sonst let.
const pi = 3.14159;
try {
pi = 3; // nicht erlaubt
} catch (e) {
console.log(e.name + ": " + e.message);
}Ausgabe:
TypeError: Assignment to constant variable.Achtung
constschützt nur die Zuweisung, nicht den Inhalt. Einconst-Array kannst du weiterhin mitpushändern, nur die Variable selbst nicht neu belegen.
const liste = [1, 2];
liste.push(3); // erlaubt
console.log(liste);Ausgabe:
[ 1, 2, 3 ]Namen
- Buchstaben, Ziffern,
_und$, nicht mit einer Ziffer beginnen - Üblich ist camelCase:
meinErsterName,anzahlKunden - Konstanten mit festen Werten oft
GROSS_MIT_UNTERSTRICH:MAX_VERSUCHE - Reservierte Wörter wie
class,function,ifsind verboten
Mehrere Variablen und Tauschen
let a = 1, b = 2;
[a, b] = [b, a]; // tauschen
console.log(a, b);
let x; // ohne Wert: undefined
console.log(x);
x = 5;
x += 2; // kurz für x = x + 2
x *= 3;
console.log(x);Ausgabe:
2 1
undefined
21Das Hoisting-Problem von var
var wird “nach oben gezogen” (Hoisting) und gilt in der ganzen Funktion, nicht im Block. Das führt zu Überraschungen:
console.log(spaet); // undefined, kein Fehler!
var spaet = 5;
for (var i = 0; i < 3; i++) {}
console.log(i); // 3: i "leckt" aus der SchleifeAusgabe:
undefined
3Mit let und const passiert das nicht, sie gelten nur im Block { ... } und sind vor ihrer Deklaration nicht benutzbar.
Merke
constfür Werte, die nicht neu zugewiesen werden;letfür veränderlichevarvermeidenconstschützt nur die Zuweisung, nicht den Inhalt von Arrays und Objekten- Namen in camelCase, aussagekräftig
- Nicht initialisierte Variablen haben den Wert
undefined
Übungsaufgabe
Lege const für deinen Namen und let für einen Zähler an, erhöhe den Zähler dreimal um 1 und gib beides aus.
Quiz zur Selbstkontrolle
Welches Schlüsselwort nimmst du für einen Wert, der sich nicht ändert?
- const (richtig)
- let
- var
- final
Was passiert bei const x = 1; x = 2;?
- Ein TypeError (richtig)
- x wird 2
- x bleibt 1 ohne Fehler
- x wird undefined
Welchen Wert hat eine Variable ohne Zuweisung?
- undefined (richtig)
- null
- 0
- ""
Weiter im Kurs
Zurück: Das erste Programm
Weiter: Datentypen
Alle Kapitel: JavaScript im Überblick