JavaScript Zuweisungen (assignments) – Variablen einen Wert zuweisen
Assignments – Zuweisungen – weisen Variablen einen Wert mit dem '=' -Operator zu, z.B. i = 0. Javascript kann den Wert aus einem Ausdruck berechnen.
Javascript Zuweisungs-Operatoren
Wie andere Programmiersprachen kennt auch Javascript die kombinierte Zuweisung, bei der die Zuweisung direkt mit einem anderen Operator geschrieben wird – z.B. += für die Addition. Der Zuweisungs-Operator = (das Gleichheitszeichen) weist der Variablen auf der linken Seite den Wert der rechten Seite zu, hier also der Variablen x den Wert y.
let x = y; // Initialisierung einer Variablen durch eine Zuweisung
x = 2 * (y = z);
let foo = ["one", "two", "three"];
Zuweisungen dürfen aneinander gereiht werden, um mehreren Variablen denselben Wert zuzuweisen.
x = y = z = 2;
Und dann hätten wir auch noch die bedingte Zuweisung (ternary Operator) – wenn einer Variablen je nach Bedingung unterschiedliche Werte zugewiesen werden sollen.
let foo = bar ? 1 : 0;
Zusammengesetzte Zuweisung
Zusammengesetzte Zuweisungen kombinieren einen arithmetischen Operator mit dem Gleichheitszeichen und sind eine Kürzel: Statt einer Berechnung und anschließender Zuweisung führen sie beides zusammen aus.
In diesem Sinne addiert der +=-Operator y zu x und weist dann der Variablen x den neuen Wert zu. Zwischen dem '+' und dem '=' darf kein Leerzeichen stehen.
Addieren und Zuweisen
x += y; // wirkt genauso wie x = x + y;
Subtrahieren und Zuweisen
Der -=-Operator subtrahiert y von x und weist dann der Variablen x den neuen Wert zu.
x -= y; // wirkt genauso wie x = x - y
Multiplizieren und Zuweisen
Der *=-Operator multipliziert y mit x und weist dann der Variablen x den neuen Wert zu.
x *= y; // wirkt genauso wie x = x * y
Dividieren und Zuweisen
Der /=- Operator dividiert x durch y und weist dann der Variablen x den neuen Wert zu.
x /= y; // wirkt genauso wie x = x / y
Modulo und Zuweisen
Der %=-Operator dividiert x durch y, bildet den Rest und weist dann der Variablen x den neuen Wert – diesen Rest – zu.
x %= y; // wirkt genauso wie x = x % y
Logische Zuweisungen
Logische Zuweisungsoperatoren sind mit ES2021 erst in den letzten Jahren hinzugekommen.
user.name ||= "Gast";
||= weist nur zu, wenn der linke Wert falsy ist (false, 0, "", null, undefined, NaN). Die Zuweisung entsprecht also: Wenn user.name false, 0, "" oder undefined ist, setze user.name = "Gast".
Äquivalent dazu gibt es &&=, das nur dann zuweist, wenn der linke Wert truthy ist.
user.isAdmin &&= "Admin"; if (user.isAdmin) user.isAdmin = "Admin";