JavaScript / ECMAScript
Operatoren
JavaScript kennt zahlreiche Operatoren.
Zuweisungsoperator:
- = Zuweisung: var a = 5; //Weist der Variable a den Wert 5 zu
Arithmetische Operatoren:
- + Addition: var a = 5+8; //a = 13
- - Subtraktion: var a = 13-8; //a = 5
- * Multiplikation: var a = 6*7; //a = 42
- / Division: var a = 42/7; //a = 6
- % Divisionsrest / Modulo: var a = 42%8; //a= 2, weil 42/8 = 5 Rest 2
Inkrement / Dekrement:
- ++ Inkrement: var a = 5;a++; //a = 6 (um eins erhöht) - Abkürzung für a = a + 1;
- -- Dekrement: var a = 4;a--; //a = 5 (um eins verringert) - Abkürzung für a = a - 1;
Arithmetische Zuweisungsoperatoren:
- += Addition: var a = 5; a+=10; //a = 15 -> Abkürzung für a = a + 10;
- -= Subtraktion: var a = 5; a-=3; //a = 2 -> Abkürzung für a = a - 3;
- *= Multiplikation: var a = 5; a*=7; //a = 35 -> Abkürzung für a = a * 7;
- /= Division: var a = 42; a/=7; //a = 6 -> Abkürzung für a = a / 7;
- %= Divisionsrest/Modulo: var a = 42; a%=8; //a = 2 -> Abkürzung für a = a % 7;
Vergleichsoperatoren:
- == Gleichheit mit Typkonvertierung: var a = 5; var b = "5"; var c = a == b; //c = true, weil b in die Zahl 5 umgewandelt wird
- != Ungleichheit mit Typkonvertierung
- === Strikte Gleichheit ohne Typkonvertierung: var a = 5; var b = "5"; var c = a === b; //c = false, weil b nicht umgewandelt wird und die Typen ungleich sind
- !== Strikte Ungleichheit
- > Größer als (mit Typkonvertierung)
- >= Größer oder gleich (mit Typkonvertierung)
- < Kleiner als (mit Typkonvertierung)
- <= Kleiner oder gleich (mit Typkonvertierung)
Logische Operatoren:
- && logisches Und: var a = true, b = true; var c = a && b; //c = true, weil true und true logisch -> true ergibt
- || logisches Oder: var a = true, b = false; var c = a && b; //c = true, weil true oder false logisch -> true ergibt
- ! logische Negation: var a = true; var b = !a; //b = false, weil die Negation von true logisch -> false ergibt
Logische Operatoren:
- && logisches Und: var a = true, b = true; var c = a && b; //c = true, weil true und true logisch -> true ergibt
- || logisches Oder: var a = true, b = false; var c = a && b; //c = true, weil true oder false logisch -> true ergibt
- ! logische Negation: var a = true; var b = !a; //b = false, weil die Negation von true logisch -> false ergibt
String-Verknüpfungsoperator:
- + verknüpft zwei Strings: var a = "Hallo "; var b = "Martin"; var c = a + b; //c = "Hallo Martin"
Bit-Operatoren:
- & bitweises Und
- | bitweises Oder
- ^ bitweises XOR
- ~ bitweise Negation (alle Bits werden umgekehrt)
- << bitweises Verschieben nach links
- >> bitweises Verschieben nach rechts
- >>> bitweises Verschieben nach rechts (ohne Beachtung des Vorzeichens)
Andere / spezielle Operatoren:
- ? Ternärer Operator
- . Eigenschaften-Zugriffsoperator
- typeof für die Bestimmung des Datentyps
- instanceof für die Prüfung auf einen bestimmten Prototyp
- new für die Erstellung einer neuen Objekt-Instanz
- (..) für den Aufruf einer Funktion (evtl. mit Parametern)
- delete für das Löschen von Objekt-Eigenschaften
- ... rest-operator für die Argument-Liste (ab ES 6 / 2015 - funktioniert nicht in IE11)
- ... spread-operator innerhalb von Arrays (ab ES 6 / 2015 - funktioniert nicht in IE11)