Arithmetische Operatoren verwenden numerische Werte (Literale oder Variablen) als Operanden und geben einen einzelnen numerischen Rückgabewert zurück. Die arithmetischen Standardoperatoren sind Addition (+), Subtraktion (-), Multiplikation (*) und Division (/).
Addition (+)
Der Additionsoperator berechnet die Summe von numerischen Operanden oder verkettet Strings.
Syntax
Operator: x + y
Beispiele
// Nummer + Nummer -> Addition 1 + 2 // 3 // Boolean + Nummer -> Addition true + 1 // 2 // Boolean + Boolean -> Addition false + false // 0 // Nummer + String -> Verkettung 5 + "foo" // "5foo" // String + Boolean -> Verkettung "foo" + false // "foofalse" // String + String -> Verkettung "foo" + "bar" // "foobar"
Subtraktion (-)
Der Subtraktionsoperator berechnet die Differenz von numerischen Operatoren.
Syntax
Operator: x - y
Beispiele
5 - 3 // 2 3 - 5 // -2 "foo" - 3 // NaN
Division (/)
Der Divisionsoperator berechnet den Quotienten von numerischen Operanden. Der linke Operand ist der Dividend und der Rechte der Divisor.
Syntax
Operator: x / y
Beispiele
1 / 2 // 0.5 in JavaScript 1.0 / 2.0 // 0.5 2.0 / 0 // Infinity 2.0 / 0.0 // Infinity 2.0 / -0.0 // -Infinity 1.0 / NaN // NaN 1.0 / Infinity // 0
Multiplikation (*)
Der Multiplikationsoperator berechnet das Produkt von numerischen Operanden.
Syntax
Operator: x * y
Beispiele
2 * 2 // 4 -2 * 2 // -4 1.5 * 2 // 3 Infinity * 0 // NaN Infinity * Infinity // Infinity "foo" * 2 // NaN
Divisionsrest (%)
Der Divisionsrestoperator berechnet den Rest der Division der numerischen Operanden. Es existiert ein Antrag auf die Übernahme eines Modulooperators in eine zukünftige Version des ECMAScript.
Syntax
Operator: x % y
Beispiele
12 % 5 // 2 -1 % 2 // -1 NaN % 2 // NaN
Inkrement (++)
Der Inkrementationsoperator vergrößert einen numerischen Operanden um 1 und liefert dessen Wert als Ergebnis.
- Wird der Operator als Postfix (z.B. x++) verwendet, wird der Operand geliefert, bevor dessen Wert inkrementiert wird.
- Wird der Operator als Präfix (z.B. ++x) verwendet, wird der Wert des Operanden erst inkrementiert und anschließend geliefert.
Syntax
Operator: x++ oder ++x
Beispiele
// Postfix var x = 3; y = x++; // y = 3, x = 4 // Präfix var a = 2; b = ++a; // a = 3, b = 3
Dekrement (--)
Der Dekrementationsoperator verringert einen numerischen Operanden um 1 und liefert dessen Wert als Ergebnis.
- Wird der Operator als Postfix (z.B. x--) verwendet, wird der Operand geliefert, bevor dessen Wert dekrementiert wird.
- Wird der Operator als Präfix (z.B. --x) verwendet, wird der Wert des Operanden erst dekrementiert und anschließend geliefert.
Syntax
Operator: x-- oder --x
Beispiele
// Postfix var x = 3; y = x--; // y = 3, x = 2 // Prefix var a = 2; b = --a; // a = 1, b = 1
Unäre Negation (-)
Die unäre Negation steht dem Operanden voran und liefert dessen negierten Wert.
Syntax
Operator: -x
Beispiele
var x = 3; y = -x; // y = -3, x = 3 -3 // -3 -"3" // -3 -"3.3" // -3.3 -"-3" // 3 -"0x33" // -51 -true // -1 -false // -0 -null // -0
Unäres Plus (+)
Das unäre Plus steht dem Operanden voran und wertet dessen Wert aus. Genau wie bei der unären Negation, werden nicht-numerische Werte in numerische Werte umgewandelt; unäres Plus ist allerdings der vorzuziehende Weg, da keine weiteren Operationen vorgenommen werden. Unäres Plus kann String-Repräsentationen von Ganz- und Kommazahlen in deren numerischen Wert konvertieren, ebenso wie true, false und null und hexadezimale (mit Präfix 0x) und negative Zahlen in ihre entsprechenden Werte konvertieren. Kann ein Operand nicht konvertiert werden, so wird er als NaN ausgewertet.
Syntax
Operator: +x
Beispiele
+3 // 3 +"3" // 3 +"3.3" // 3.3 +"-3" // -3 +"0x33" // 51 +true // 1 +false // 0 +null // 0
Spezifikationen
Browser Kompatibilität
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) | (Ja) |