Ein Zuweisungsoperator weist dem linken Operanten einen Wert auf Basis des rechten Operanten zu.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Überblick
Der Basiszuweisungsoperator ist das Gleich (=), welches den Wert des rechten Operanten dem linken Operanten zuweist. So wird bei x = y der Wert von y x zugewiesen. Die anderen Zuweisungsoperatoren sind Kurzformen für Standardoperationen, wie es in den folgenden Definition und Beispielen gezeigt wird.
| Name | Kurzformoperator | Bedeutung |
|---|---|---|
| Zuweisung | x = y |
x = y |
| Additionszuweisung | x += y |
x = x + y |
| Subtraktionszuweisung | x -= y |
x = x - y |
| Multiplikationszuweisung | x *= y |
x = x * y |
| Divisionszuweisung | x /= y |
x = x / y |
| Restzuweisung | x %= y |
x = x % y |
| Potenzierungszuweisung | x **= y |
x = x ** y |
| Links verschiebende Zuweisung | x <<= y |
x = x << y |
| Rechts verschiebende Zuweisung | x >>= y |
x = x >> y |
| Vorzeichenlose rechts verschiebende Zuweisung | x >>>= y |
x = x >>> y |
| Bitweise AND Zuweisung | x &= y |
x = x & y |
| Bitweise XOR Zuweisung | x ^= y |
x = x ^ y |
| Bitweise OR Zuweisung | x |= y |
x = x | y |
Zuweisung
Einfacher Zuweisungsoperator, welcher den Wert zu einer Variablen zuweist. Der Zuweisungsoperator gibt den zugewiesenen Wert zurück. Eine Verkettung der Zuweisungsoperatoren ist möglich, um einen Wert mehreren Variablen zuzuweisen. Sie in den Beispielen.
Syntax
Operator: x = y
Beispiele
// Folgende Variablen sind vorausgesetzt // x = 5 // y = 10 // z = 25 x = y // x ist 10 x = y = z // x, y und z sind alle 25
Additionszuweisung
Der Additionszuweisungsoperator addiert den Wert des rechten Operanten zu einer Variablen und weist das Ergebnis der Variablen zu. Die Typen der Operanten entscheiden über das Verhalten des Additionszuweisungsoperator. Addition oder Konkatination sind möglich. Siehe beim Additionsoperator für mehr Details nach.
Syntax
Operator: x += y Bedeutung: x = x + y
Beispiele
// Die folgenden Variablen werden vorausgesetzt // foo = 'foo' // bar = 5 // baz = true // Number + Number -> Addition bar += 2 // 7 // Boolean + Number -> Addition baz += 1 // 2 // Boolean + Boolean -> Addition baz += false // 1 // Number + String -> Konkationation bar += 'foo' // "5foo" // String + Boolean -> Konkatination foo += false // "foofalse" // String + String -> Konkationation foo += 'bar' // "foobar"
Subtraktionszuweisung
Der Subtraktionszuweisungsoperator subtahiert den Wert des rechten Operanten von einer Variablen und weist das Ergebnis der Variablen zu. Siehe beim Subraktionsoperator für mehr Details nach.
Syntax
Operator: x -= y Bedeutung: x = x - y
Beispiele
// Die folgenden Variablen werden vorausgesetzt // bar = 5 bar -= 2 // 3 bar -= 'foo' // NaN
Multiplikationszuweisung
Der Multiplikationszuweisungsoperator multipliziert den Wert des rechten Operanten zu einer Variablen und weist das Ergebnis der Variablen zu. Siehe beim Multiplikationsoperator für mehr Details nach.
Syntax
Operator: x *= y Bedeutung: x = x * y
Beispiele
// Die folgenden Variablen werden vorausgesetzt // bar = 5 bar *= 2 // 10 bar *= 'foo' // NaN
Divisionszuweisung
Der Divisionszuweisungsoperator dividiert eine Variable durch den rechten Operanten zu und weist das Ergebnis der Variablen zu. Siehe beim Divisionsoperator für mehr Details nach.
Syntax
Operator: x /= y Bedeutung: x = x / y
Beispiele
// Die folgenden Variablen werden vorausgesetzt // bar = 5 bar /= 2 // 2.5 bar /= 'foo' // NaN bar /= 0 // Infinity
Restzuweisung
Der Restzuweisungsoperator dividiert einer Variable durch den rechten Operanten und weist den Rest des Ergebnis der Variablen zu. Siehe beim Restoperator für mehr Details nach.
Syntax
Operator: x %= y Bedeutung: x = x % y
Beispiele
// Die folgenden Variablen werden vorausgesetzt // bar = 5 bar %= 2 // 1 bar %= 'foo' // NaN bar %= 0 // NaN
Potenzierungszuweisung
Der Potenzierungszuweisungsoperator potenziert einer Variable mit den rechten Operanten und weist das Ergebnis der Variablen zu. Siehe beim Exponentialoperator für mehr Details nach.
Syntax
Operator: x **= y Bedeutung: x = x ** y
Beispiele
// Die folgenden Variablen werden vorausgesetzt // bar = 5 bar **= 2 // 25 bar **= 'foo' // NaN
Links verschiebende Zuweisung
Der links verschiebende Zuweisungsoperator verschiebt um die Anzahl Bits im rechten Operanten in der Variablen und weist das Ergebnis der Variablen zu. Siehe beim links verschiebenden Operator für mehr Details nach.
Syntax
Operator: x <<= y Bedeutung: x = x << y
Beispiele
var bar = 5; // (00000000000000000000000000000101) bar <<= 2; // 20 (00000000000000000000000000010100)
Rechts verschiebende Zuweisung
Der rechts verschiebende Zuweisungsoperator verschiebt um die Anzahl Bits im rechten Operanten in der Variablen und weist das Ergebnis der Variablen zu. Siehe beim rechts verschiebenden Operator für mehr Details nach.
Syntax
Operator: x >>= y Bedeutung: x = x >> y
Beispiele
var bar = 5; // (00000000000000000000000000000101) bar >>= 2; // 1 (00000000000000000000000000000001) var bar -5; // (-00000000000000000000000000000101) bar >>= 2; // -2 (-00000000000000000000000000000010)
Vorzeichenlose rechts verschiebende Zuweisung
Der vorzeichenlose rechts verschiebende Zuweisungsoperator verschiebt um die Anzahl Bits im rechten Operanten in der Variablen und weist das Ergebnis der Variablen zu. Siehe beim vorzeichenlose rechts verschiebenden Operator für mehr Details nach.
Syntax
Operator: x >>>= y Bedeutung: x = x >>> y
Beispiele
var bar = 5; // (00000000000000000000000000000101) bar >>>= 2; // 1 (00000000000000000000000000000001) var bar = -5; // (-00000000000000000000000000000101) bar >>>= 2; // 1073741822 (00111111111111111111111111111110)
Bitweise UND Zuweisung
Der bitweise UND Zuweisungsoperator nutzt die Bitrepräsentation beider Operanten, führt eine bitweises UND Operation aus und weist das Ergebnis der Variablen zu. Siehe beim bitweisen UND Operator für mehr Details nach.
Syntax
Operator: x &= y Bedeutung: x = x & y
Beispiele
var bar = 5; // 5: 00000000000000000000000000000101 // 2: 00000000000000000000000000000010 bar &= 2; // 0
Bitweise XOR Zuweisung
Der bitweise XOR Zuweisungsoperator nutzt die Bitrepräsentation beider Operanten, führt eine bitweises XOR Operation aus und weist das Ergebnis der Variablen zu. Siehe beim bitweisen XOR Operator für mehr Details nach.
Syntax
Operator: x ^= y Bedeutung: x = x ^ y
Beispiele
var bar = 5; bar ^= 2; // 7 // 5: 00000000000000000000000000000101 // 2: 00000000000000000000000000000010 // ----------------------------------- // 7: 00000000000000000000000000000111
Bitweise ODER Zuweisung
Der bitweise ODER Zuweisungsoperator nutzt die Bitrepräsentation beider Operanten, führt eine bitweises ODER Operation aus und weist das Ergebnis der Variablen zu. Siehe beim bitweisen ODER Operator für mehr Details nach.
Syntax
Operator: x |= y Bedeutung: x = x | y
Beispiele
var bar = 5; bar |= 2; // 7 // 5: 00000000000000000000000000000101 // 2: 00000000000000000000000000000010 // ----------------------------------- // 7: 00000000000000000000000000000111
Beispiele
Linker Operant mit anderem Zuweisungsoperator
In ungewöhnlichen Situationen kann ein Zuweisungsoperator (z. B. x += y) nicht identisch mit der äquivalenten Zuweisung (hier x = x + y). Wenn der linke Operant einer Zuweisung selbst eine Zuweisung enthält, wird der linke Operant nur einem ausgewertet. Zum Beispiel:
a[i++] += 5 // i wird einmal ausgewertet a[i++] = a[i++] + 5 // i wird zweimal ausgewertet
Spezifikationen
| Spezifikation | Status | Kommentar |
|---|---|---|
| ECMAScript (ECMA-262) Die Definition von 'Assignment operators' in dieser Spezifikation. |
Lebender Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Assignment operators' in dieser Spezifikation. |
Standard | |
| ECMAScript 5.1 (ECMA-262) Die Definition von 'Assignment operators' in dieser Spezifikation. |
Standard | |
| ECMAScript 1st Edition (ECMA-262) Die Definition von 'Assignment operators' in dieser Spezifikation. |
Standard | Initiale Definition. |
Browserkompatibilität
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Addition assignment (x += y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 3 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Bitwise AND assignment (x &= y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 3 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Bitwise OR assignment (x |= y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 3 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Bitwise XOR assignment (x ^= y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 3 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Division assignment (x /= y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 3 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Exponentiation assignment (x **= y) | Chrome Vollständige Unterstützung 52 | Edge Vollständige Unterstützung 14 | Firefox Vollständige Unterstützung 52 | IE Keine Unterstützung Nein | Opera Vollständige Unterstützung 39 | Safari Vollständige Unterstützung 10.1 | WebView Android Vollständige Unterstützung 51 | Chrome Android Vollständige Unterstützung 52 | Firefox Android Vollständige Unterstützung 52 | Opera Android Vollständige Unterstützung 41 | Safari iOS Vollständige Unterstützung 10.3 | Samsung Internet Android Vollständige Unterstützung 6.0 | nodejs
Vollständige Unterstützung
7.0.0
|
Left shift assignment (x <<= y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 4 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Multiplication assignment (x *= y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 3 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Remainder assignment (x %= y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 4 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Right shift assignment (x >>= y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 4 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Assignment (x = y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 3 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Subtraction assignment (x -= y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 3 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Unsigned right shift assignment (x >>>= y) | Chrome Vollständige Unterstützung 1 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 1 | IE Vollständige Unterstützung 3 | Opera Vollständige Unterstützung 4 | Safari Vollständige Unterstützung 1 | WebView Android Vollständige Unterstützung 1 | Chrome Android Vollständige Unterstützung 18 | Firefox Android Vollständige Unterstützung 4 | Opera Android Vollständige Unterstützung 10.1 | Safari iOS Vollständige Unterstützung 1 | Samsung Internet Android Vollständige Unterstützung 1.0 | nodejs Vollständige Unterstützung 0.1.100 |
Legende
- Vollständige Unterstützung
- Vollständige Unterstützung
- Keine Unterstützung
- Keine Unterstützung
- Benutzer muss dieses Feature explizit aktivieren.
- Benutzer muss dieses Feature explizit aktivieren.