Читать книгу JavaScript – Das Handbuch für die Praxis - David Flanagan - Страница 104

4.11.1Zuweisung mit Operation

Оглавление

Neben dem normalen Zuweisungsoperator = unterstützt JavaScript eine Reihe weiterer Zuweisungsoperatoren, bei denen die eigentliche Zuweisung mit einer anderen Operation kombiniert wird. Beispielsweise führt der +=-Operator sowohl eine Addition als auch eine Zuweisung aus. Der Ausdruck

total += salesTax;

ist gleichwertig mit diesem:

total = total + salesTax;

Wie Sie sich vielleicht schon gedacht haben, kann der +=-Operator mit Strings und Zahlen umgehen. Bei numerischen Operanden führt er Addition und Zuweisung aus, bei String-Operanden Verkettung und Zuweisung.

Ähnliche Operatoren sind -=, *=, &= usw. Tabelle 4-2 zeigt sie in einer Übersicht.

Tabelle 4-2: Zuweisungsoperatoren

Operator Beispiel Äquivalent
+= a += b a = a + b
-= a -= b a = a - b
*= a *= b a = a * b
/= a /= b a = a / b
%= a %= b a = a % b
**= a **= b a = a ** b
<<= a <<= b a = a << b
>>= a >>= b a = a >> b
>>>= a >>>= b a = a >>> b
&= a &= b a = a & b
|= a |= b a = a | b
^= a ^= b a = a ^ b

In den meisten Fällen ist der Ausdruck

a op= b

(mit op als beliebigem Operator) äquivalent zum Ausdruck

a = a op b

In der ersten Zeile wird der Ausdruck a einmal ausgewertet, in der zweiten zweimal. Die beiden Fälle unterscheiden sich also nur dann, wenn a Seiteneffekte hat, weil dieser Ausdruck beispielsweise einen Funktionsaufruf oder eine Inkrementierungsoperation enthält. Die beiden folgenden Zuweisungen sind beispielsweise nicht gleich:

data[i++] *= 2;

data[i++] = data[i++] * 2;

JavaScript  –  Das Handbuch für die Praxis

Подняться наверх