Variablen

Variablen kommen in vielen Programmiersprachen vor und dienen dazu, Werte zu speichern, auf die man später zurückgreifen möchte.

Dazu muss man zuerst die Variable erzeugen, das nennt man deklarieren und dann muss man ihr einen Wert zuweisen, das nennt man initialisieren.

Deklaration

Variablen werden mit dem Schlüsselwort var oder let aufgeführt gefolgt von einem selbstvergebenen Namen. Diesen nennt nan Bezeichner. Für die Namensvergabe gelten Regeln.

var firstName;

Das Schlüsselwort let gibt es seit Version ES6 und sollte bevorzugt eingesetzt werden.

let lastName;

Unterschied zwischen let und var

Blockscope

Das Schlüsselwort let deklariert eine Variable im Gültigkeitsbereich des lokalen Blocks { }.
 var Variablen haben keinen Blockscope.

Hoisting

Der Zugriff auf eine let Variable bevor sie initialisiert wurde erzeugt einen Reference Error. Bei einer var Variablen wird ein undefined ausgegeben, weil die Variable bei der Deklaration nach oben gesetzt wird (Hoisting).

for-Schleifen

let Variablen werden in for-Schleifen an jede Iteration gebunden. Eine var Variable tut das nicht und außerdem hat sie außerhalb der for-schleife Gültigkeit. siehe Beispiel let / Beispiel var

mehr dazu bei mediavent

mehr dazu bei Developer.mozilla

Mehrere Variablen deklarieren

Man kann auch mehrere Variablen zusammen deklarieren, indem man sie durch Komma getrennt aufführt

let firstName, lastName, ort, adresse;

Initialisierung

Nach der Deklaration kann man der Variablen einen Wert zuweisen. Das nennt man Initialisierung.

lastName = "Schmidt";

Das Gleichheitszeichen ist ein Zuweisungsoperator. Eine Variable ohne Wert hat den Wert undefined

Deklaration und Initialsierung lassen sich zusammenfassen:

let lastName = "Schmidt";

Es lassen sich mehrere Variablen zusammen deklarieren und initialisieren. Jedoch ist das unüblich, da es schwer lesbar ist:

let lastName ="Schmidt", firstName = "Willi";

Werte ändern

Der Wert einer Variablen ist variabel, das heißt er kann sich ändern.

let x = 5;
x = 20;

Regeln für Variablen- Namen

siehe Developer

Wenn man diese Regeln beachtet kann man jeden beliebigen Namen verwenden, jedoch sollte man möglichst aussagekräftige Namen verwenden. Dadurch wird der Code verständlicher. Englische Namen sind Konvention.

Konstante const

const maxspeed = 130;

Während sich der Wert einer klassischen Variable jederzeit ändern kann, gibt es Werte, die über die gesamte Laufzeit des Programms stabil bleiben sollen. Hierfür nutzt man Konstanten, die mit dem Schlüsselwort const deklariert werden. Doch Obacht: Konstante bedeutet in JavaScript nicht zwingend, dass der Inhalt absolut unveränderlich ist. Der entscheidende Unterschied liegt darin, was geschützt ist: Der Wert selbst oder die Variable (die Zuweisung)?

Hier ist die goldene Regel für JavaScript:

Schauen wir uns das genauer an.

1. Primitive Datentypen (Verhält sich wie PHP)

Bei einfachen Datentypen (Strings, Zahlen, Booleans) verhält sich const genau so, wie du es von PHP-Konstanten (define oder const) erwartest: Der Wert kann nicht geändert werden.

JavaScript
const name = "Marcel";
name = "Jan"; // ❌ Fehler: Assignment to constant variable.

let alter = 28;  
alter = 29; //   Erlaubt, da mit 'let' deklariert.  

2. Komplexe Datentypen: Der JavaScript-Kniff (Arrays & Objekte)

Hier entsteht meistens die Verwirrung. In JavaScript speichert eine Variable bei Objekten und Arrays und arrayähnlichen Objekten wie NodeLists und HTMLCollections nicht den tatsächlichen Inhalt, sondern nur eine Referenz (eine Art Speicheradresse), die auf diesen Inhalt zeigt.

Wenn du const für ein Array oder Objekt nutzt, sagst du JavaScript nur: "Diese Variable muss immer auf genau dieses Array/Objekt zeigen." Was innerhalb des Arrays oder Objekts passiert, ist const völlig egal.

Beispiel mit einem Array:

JavaScript
 const einkaufsliste = ["Brot", "Milch"];
 
 //  Erlaubt: Wir ändern den INHALT des Arrays, nicht die Zuweisung.
 einkaufsliste.push("Kaffee");
 console.log(einkaufsliste); // ["Brot", "Milch", "Kaffee"] 
 
 // ❌ Verboten: Wir versuchen, der Variable ein komplett NEUES Array zuzuweisen.
 einkaufsliste = ["Apfel", "Birne"]; // Fehler!  

Beispiel mit einem Objekt:

JavaScript
const user = { name: "Marcel", rolle: "Admin" };

//  Erlaubt: Eine Eigenschaft (Property) des Objekts ändern oder hinzufügen.
user.rolle = "User";   
user.alter = 30;

// ❌ Verboten: Das Objekt komplett austauschen.
user = { name: "Jan" }; // Fehler!  

Der Vergleich zu PHP

In PHP sind Konstanten (const oder define()) standardmäßig "immutable" (unveränderlich). Wenn du in PHP ein Array als Konstante definierst, kannst du nachträglich keine Elemente hinzufügen.

JavaScript hat dafür von Haus aus keinen direkten Befehl bei der Variablendeklaration. Wenn du in JavaScript ein Objekt oder Array wirklich bombenfest einfrieren willst (so wie in PHP), musst du JavaScript explizit darum bitten:

JavaScript
const user = { name: "Marcel" };
Object.freeze(user); // Friert das Objekt ein!
user.name = "Jan"; // Wird im Strict-Mode einen Fehler werfen, ansonsten einfach ignoriert.
console.log(user.name); // Bleibt "Marcel"  

Zusammenfassung: Wann nutze ich was?


 

Javascript Tipps