Operatoren werden für Verknüpfungen oder Berechnungen in JavaScript benötigt.
Die Operatoren werden dabei in verschiedene Gruppen unterteilt:
Arithmitische Operatoren
(Arithmetische Operatoren sind die Standard-Rechenoperatoren)
| Operator | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| + | Addition | 2 + 2 | 4 |
| ++ | Addiert zu einem Wert 1 hinzu | a++ | a=a+1 |
| - | Subtraktion | 3 - 1 | 2 |
| -- | Subtrahiert von einem Wert 1 weg | a-- | a=a-1 |
| * | Multiplikation | 2*2 | 4 |
| / | Division | 4/2 | 2 |
| % | Dividiert zwei Zahlen und gibt den Rest zurück | 4%3 | 1 |
Bitweise Opteratoren
(Im Gegensatz zu den arithmetischen Rechnungen wird der Wert der Variable in Binärcode umgewandelt und dann berechnet)
| Operator | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| & | Bitweise Verknüpfung zweier Ausdrücke durch AND (und). Beim Vergleich der Ausdrücke wird bei einer eins an gleicher Stelle auch dem Ergebnis an dieser Stelle eine eins zugoordnet. |
a = b & c 1100010 1100011 1100010 |
|
| | | Bitweise Verknüpfung zweier Ausdrücke durch OR (oder). Beim Vergleich der Ausdrücke wird bei einer eins an einer Stelle auch dem Ergebnis an dieser Stelle eine eins zugoordnet. |
a = b | c 1100010 1100011 1100011 |
|
| ~ | Bitweise Verknüpfung zweier Ausdrücke durch NOT (nicht). Beim Vergleich der Ausdrücke wird bei einer eins an einer Stelle dem Ergebnis an dieser Stelle eine null zugoordnet und umgekehrt. |
a = ~ b 1100010 0011101 |
|
| ^ | Bitweise Verknüpfung zweier Ausdrücke durch XOR (oder nicht). Beim Vergleich der Ausdrücke wird bei einer eins bei beiden eine 0 anstelle des Ergebnisses gesetzt und bei vorhandensein nur einer eins aus nur eine eins. Bei null kommt die null. |
a = b ^ c 1100010 1100011 0000001 |
|
| << | Bitweise Verschiebung um x Zeichen nach links | a = b << x | |
| >> | Bitweise Verschiebung um x Zeichen nach rechts | a = b >> x | |
| >>> | Bitweise Verschiebung um x Zeichen nach rechts (ohne die Vorzeichen zu beachten) | a = b >>> x |
Logische Operatoren
(Logische Operatoren prüfen die Werte auf Gleichheit oder Ungleicheit zueinander)
| Operator | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| ? : | Wenn der erste Wert wahr ist, dann führe erste Anweisung aus ansonsten die zweite. | 1 = = 2 ? A() : B() 2 = = 2 ? A() : B() |
A() B() |
| = = | Sind die Aussagen identisch | 2 = = 2 2 = = 3 |
true false |
| != | Sind die Aussagen ungleich | 2 != 3 2 != 2 |
true false |
| = = = | Sind die Aussagen gleich und vom gleichen Typ | 2 = = = 2 a = = = 2 |
true false |
| != = | Sind die Aussagen ungleich und nicht gleichem Typ | a != = 2 2 != = 2 |
true false |
| > | Wert eins größer als dee zweite | 2 > 1 1 > 2 |
true false |
| < | Wert eins kleiner als der zweite | 1 < 2 2 < 1 |
true false |
| >= | Wert eins größer oder gleich dem zweiten | 2 >= 2 3 >= 1 1 >= 3 |
true true false |
| <= | Wert eins kleiner oder gleich dem zweiten | 1 <= 3 2 <= 2 3 <= 1 |
true true false |
| && | Verbindet zwei Werte durch logisches AND (und) | 1<2 && 3<4 | true |
| || | Verbindet zwei Werte durch logisches OR (oder) | a = 2 || b =4 | true |
| ! | Verbindet einen Wert mit logischem NOT (nicht) | !false !true |
true false |
String Operatoren
(String-Operatoren sind nur für TEXT und verbinden entsprechend die Textwerte miteinander)
| Operator | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| + | Verbindet zwei Strings miteinander | a + b | ab |
| += | Verbindet zwei Strings miteinander und weisst das Ergebnis dem ersten Operanden zu | a += 2 | a=a+2 |
Zuweisungsoperatoren
| Operator | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| = | Weist einem Wert einen anderen zu | a = 2+2 | a = 4 |
| += | Addiert beiden Werte und weist das Ergebnis dem ersten zu | a += 2 a += 'def' |
a = a + 2 a = a + 'def' |
| -= | Subtrahiert von einem Wert den zweiten | a -= 2 | a = a - 2 |
| *= | Multipliziert zu einem Wert einen zweiten | a *= 2 | a = a*2 |
| /= | Dividiert von einem Wert einen zweiten | a /= 2 | a = a/2 |
| %= | Dividiert zwei Zahlen und gibt den Rest zurück | a %= 2 | a = a%2 |
| &= | Bitweise AND Operation | a &= 2 | a&2 |
| |= | Bitweise OR Operation | a |= b | a | b |
| ^= | Bitweise XOR Operation | a ^= b | a ^ b |
| <<= | Bitweise Verschiebung nach links | a <<= b | a << b |
| >>= | Bitweise Verschiebung nach rechts | a >>= b | a >> b |
| >>>= | Bitweise Verschiebung nach rechts ohne Beachtung der Vorzeichen | a >>>= b | a >>> b |
Spezielle Operatoren
| Operator | Beschreibung | Beispiel | Ergebnis |
|---|---|---|---|
| delete | Löscht Eigenschaften, Objekte oder Elemente eines Arrays | delete 'xyz' | |
| in | Überprüft ein Objekt auf vorhandensein einer Eigenschaft | a = new Array(3,4); 3 in a 'x' in a |
true false |
| instanceof | Überprüft ein Objekt auf die Zugehörigkeit zu einer bestimmten Klasse | a = new Date();a instanceof Array a instanceof Object |
false true |
| new | Erstellt eine neue Instanz eines Objektes | a = new Date() | Date-Objekt |
| typeof | Zeigt an welchen Typ ein Objekt hat | typeof('xyz') typeof(23) |
String Number |
| void | Unterbindet Meldeboxen, etc. | void(alert("Hallo")) |
Operatorenrangfolge
Wie auch in der klassischen Mathematik (Punkt vor Strichrechnung) gibt es auch für JavaScript eine grundsätzliche Reihenfolge.
| 1. | () [] . |
| 2. | ! ~ - ++ -- |
| 3. | * / % |
| 4. | + - |
| 5. | << >> >>> |
| 6. | < <= > >= |
| 7. | == === != !== |
| 8. | & |
| 9. | ^ |
| 10. | | |
| 11. | && |
| 12. | | | |
| 13. | ?: |
| 14. | = += -= <<= >>= & = ^= |= |
| 15. | , |
Beispiel:
var ergebnis1 = 2 * 2 + 2; //Ergebnis 6
var ergebnis2 = 2 * (2 +2); //Ergebnis 8
© Agadoo 2001 - 2007