JavaScript

Knowledge Base

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)