JavaScript: Variablen mit „const“, „let“ oder „var“ erstellen
In der Welt des Programmierens sind Variablen unerlässliche Grundbausteine. Sie funktionieren wie kleine Behälter, in denen Daten gespeichert werden können. In JavaScript, einer der wichtigsten Programmiersprachen für Webseiten und Anwendungen, gibt es drei verschiedene Möglichkeiten, Variablen zu erstellen: mit const
, let
oder var
. Jede dieser Deklarationsarten hat ihre eigenen Besonderheiten und Einsatzbereiche. Dieser Artikel erklärt die Unterschiede verständlich und zeigt praktische Beispiele.
Was sind Variablen?
Bevor wir in die Details einsteigen, sollten wir verstehen, was Variablen überhaupt sind. Stell Dir eine Variable wie eine beschriftete Schachtel vor. Du gibst der Schachtel einen Namen und kannst verschiedene Dinge hineinlegen – Zahlen, Texte oder komplexere Informationen. Später kannst Du auf den Inhalt dieser Schachtel zugreifen, indem Du ihren Namen verwendest.
In JavaScript dienen Variablen zum Speichern von Informationen, die Du später im Programm wiederverwenden möchtest.
Die drei Arten der Variablendeklaration
JavaScript bietet drei verschiedene Schlüsselwörter, um Variablen zu erstellen: const
, let
und var
. Jedes dieser Wörter hat besondere Eigenschaften und wird in bestimmten Situationen bevorzugt.
1. Variablen mit const
Das Wort const
kommt von „konstant“ und bedeutet unveränderlich. Eine mit const
erstellte Variable kann nach ihrer Erstellung nicht mehr verändert werden. Ihr Wert bleibt konstant.
const meinName = "Maria";
const geburtsjahr = 1990;
const lieblingsfarbe = "Blau";
Wichtige Eigenschaften von const
:
- Der Wert kann nach der Zuweisung nicht mehr geändert werden
- Du musst sofort einen Wert zuweisen
- Die Variable ist nur innerhalb des Blocks verfügbar, in dem sie erstellt wurde (Blockgültigkeit). Was unter einem Block verstanden wird, das werden wir später noch sehr genau behandeln.
Versuchst Du, den Wert einer const
-Variable zu ändern, erhältst Du eine Fehlermeldung:
const meinAlter = 30;
meinAlter = 31; // Fehler: Zuweisung zu einer konstanten Variable
Besonders wichtig: Bei komplexen Datentypen wie Objekten und Arrays (die wir noch ausführlich behandeln werden) bleibt die Variable selbst konstant, aber die Inhalte können geändert werden:
const meineFruechte = ["Apfel", "Banane"];
meineFruechte.push("Orange"); // Erlaubt: Der Inhalt wird verändert
console.log(meineFruechte); // Ausgabe: ["Apfel", "Banane", "Orange"]
meineFruechte = ["Kirsche"]; // Fehler: Die Variable selbst darf nicht neu zugewiesen werden
2. Variablen mit let
let
ermöglicht es, veränderbare Variablen zu erstellen. Der Wert kann jederzeit geändert werden.
let alter = 25;
alter = 26; // Erlaubt: Der Wert wird aktualisiert
Wichtige Eigenschaften von let
:
- Der Wert kann nach der Erstellung geändert werden
- Die Zuweisung eines Anfangswerts ist optional
- Die Variable ist nur innerhalb des Blocks verfügbar, in dem sie erstellt wurde (Blockgültigkeit)
let
ist besonders nützlich für Werte, die sich im Laufe des Programms ändern können:
let punktzahl = 0;
punktzahl = punktzahl + 10; // Punktzahl wird erhöht
console.log(punktzahl); // Ausgabe: 10
let benutzername;
console.log(benutzername); // Ausgabe: undefined
benutzername = "Max"; // Später einen Wert zuweisen
3. Variablen mit var
var
ist die älteste Methode, um Variablen in JavaScript zu erstellen. Moderne Programme verwenden eher const
und let
, aber zum Verständnis älterer Programme ist die Kenntnis von var
wichtig.
var message = "Hallo";
var anzahl = 42;
Wichtige Eigenschaften von var
:
- Der Wert kann geändert werden
- Die Zuweisung eines Anfangswerts ist optional
- Die Variable ist innerhalb der gesamten Funktion verfügbar (Funktionsgültigkeit)
- Variablen können vor ihrer Deklaration verwendet werden (Hoisting)
var temperatur = 20;
temperatur = 22; // Erlaubt: Der Wert wird aktualisiert
function wetterBericht() {
var temperatur = 19; // Neue Variable innerhalb der Funktion
console.log(temperatur); // Ausgabe: 19
}
console.log(temperatur); // Ausgabe: 22 (die äußere Variable)
Die Unterschiede im Überblick
Nun schauen wir uns die wichtigsten Unterschiede zwischen den drei Deklarationsarten genauer an.
Gültigkeitsbereich (Scope)
Der Gültigkeitsbereich bestimmt, wo im Code eine Variable verwendet werden kann.
const
undlet
haben Blockgültigkeit. Sie sind nur innerhalb des Blocks (zwischen geschweiften Klammern{}
) verfügbar, in dem sie deklariert wurden. Dazu später mehr.var
hat Funktionsgültigkeit. Diese Variablen sind in der gesamten Funktion verfügbar, auch außerhalb von Blöcken.
Beispiel zur Blockgültigkeit anhand einer einfachen Wenn-Abfrage:
if (true) {
const x = 10;
let y = 20;
var z = 30;
}
// console.log(x); // Fehler: x ist außerhalb des Blocks nicht verfügbar
// console.log(y); // Fehler: y ist außerhalb des Blocks nicht verfügbar
console.log(z); // Ausgabe: 30 - var-Variablen ignorieren Blockgrenzen
Neuzuweisung
Die Möglichkeit, den Wert einer Variable zu ändern, unterscheidet sich:
const
: Keine Neuzuweisung möglichlet
undvar
: Neuzuweisung jederzeit möglich
const beständig = 100;
// beständig = 200; // Fehler
let veränderbar = 100;
veränderbar = 200; // Funktioniert
var altmodisch = 100;
altmodisch = 200; // Funktioniert ebenfalls
Deklaration ohne Initialisierung
Die Anforderung, sofort einen Wert zuzuweisen:
const
: Muss sofort initialisiert werdenlet
undvar
: Können ohne Anfangswert deklariert werden
// const unvollständig; // Fehler: const benötigt einen Anfangswert
let leer; // Erlaubt, Wert ist "undefined"
var ebenfallsLeer; // Erlaubt, Wert ist "undefined"
Hoisting
Hoisting bezeichnet das Verhalten, Variablen vor ihrer tatsächlichen Deklaration im Code zu verwenden:
var
: Wird „gehoisted“ (angehoben), kann vor der Deklaration verwendet werdenconst
undlet
: Werden nicht „gehoisted“, müssen vor der Verwendung deklariert werden
console.log(alteVariable); // Ausgabe: undefined (nicht empfohlener Stil)
var alteVariable = "Ich bin gehoisted";
// console.log(neueVariable); // Fehler: Zugriff vor der Initialisierung
let neueVariable = "Ich bin nicht gehoisted";
Wann solltest Du welche Deklarationsart verwenden?
Die Wahl zwischen const
, let
und var
hängt von Deinen Anforderungen ab. Hier sind einige Richtlinien:
Verwende const
(empfohlen):
- Für Werte, die sich nicht ändern sollen
- Für die meisten Variablen als Standardwahl
- Um unbeabsichtigte Änderungen zu vermeiden
const PI = 3.14159;
const MEHRWERTSTEUER = 0.19;
const konfiguration = { theme: "dark", sprache: "Deutsch" };
Verwende let
:
- Für Variablen, deren Werte sich ändern werden
- Für Schleifenzähler oder Akkumulatoren
- Wenn eine Variable zunächst ohne Wert deklariert werden muss
let counter = 0;
for (let i = 0; i < 10; i++) {
counter = counter + 1;
}
let benutzereingabe;
// Später im Programm:
benutzereingabe = "Text vom Benutzer";
Verwende var
(weniger empfohlen):
- In älterem Code (vor 2015)
- Wenn Du bewusst Funktionsgültigkeit statt Blockgültigkeit benötigst
In modernem JavaScript wird var
selten eingesetzt und sollte durch const
oder let
ersetzt werden.
Zusammenfassung
Die Wahl zwischen const
, let
und var
ist ein wichtiger Schritt beim Programmieren mit JavaScript:
const
ist ideal für unveränderliche Werte und sollte bevorzugt werdenlet
eignet sich für veränderliche Werte und hat Blockgültigkeitvar
ist die ältere Option mit Funktionsgültigkeit und sollte in neuem Code vermieden werden
Durch die richtige Wahl der Variablendeklaration wird Dein Code robuster und leichter zu verstehen. Die Blockgültigkeit von const
und let
verhindert zudem viele typische Fehler, die bei der Verwendung von var
auftreten können.
Mit diesen Kenntnissen bist Du gut gerüstet, um Variablen in JavaScript effektiv einzusetzen und qualitativ hochwertigen Code zu schreiben.