JavaScript/Operatoren
JavaScript ist eine Sprache, in der ein breites Spektrum an Funktionalität mit Hilfe von Operatoren realisiert wird. Dabei handelt es sich in den meisten Fällen um bestimmte Sonderzeichen oder Kombinationen von Sonderzeichen, die bis zu drei Werte miteinander kombinieren und einen neuen Wert ermitteln.
Die meisten Operatoren sind frei von Seiteneffekten. Das bedeutet, dass die Werte, auf die man sie anwendet, nicht verändert werden.
Bestimmte Operatoren haben aber gerade die Aufgabe, Werte zu verändern. Dabei handelt es sich um den Zuweisungsoperator und seine Kombinationen, die Inkrement/Dekrement-Operatoren und den delete Operator.
Kombiniert man Werte und Operatoren, entsteht ein Ausdruck (expression). Die Auswertung eines Ausdrucks zur Ausführungszeit des Programms ergibt einen neuen Wert. In fast allen Fällen kann deshalb überall dort, wo in JavaScript ein Wert notiert werden kann, auch ein Ausdruck geschrieben werden, der diesen Wert ermittelt.
Wichtige Aspekte bei Operatoren sind Priorität und Assoziativität. Sie regeln, in welcher Reihenfolge die Operatoren ausgewertet werden, wenn in einem Ausdruck mehr als ein Operator vorhanden ist. Der Artikel zur Operatorenrangfolge geht hierauf ausführlich ein.
Wie aus der Mathematik bekannt, kann die Auswertungsreihenfolge durch Klammern beeinflusst werden. Wird ein Ausdruck durch Klammern gruppiert, wird die Klammergruppe als eigenständiger Wert aufgefasst und in dem Moment berechnet, wenn er auf Grund der Reihenfolgeregeln des äußeren Ausdrucks benötigt wird.
- Zuweisungsoperator
- Vergleichsoperatoren
- Äpfel mit Birnen vergleichen
- Typgenaue Vergleiche
- Rechenoperatoren
- Rechenoperationen mit Zuweisung
- Inkrementoren und Dekrementoren
- Der Modulo-Operator
- Rechenoperationen mit Zuweisung
- Logische Operatoren
- Allgemeines zu logischen Operatoren
- Der NOT-Operator
- Nullish Coalescing Operator (??)
- Optional Chaining Operator (?.)
- Bit-Operatoren
- Operator zur Zeichenkettenverknüpfung
- Punktoperator
- ternärer Operator (conditional operator ? :)
- Operator zum Konstruktorenaufruf (new)
- Operator zur Typenbestimmung (typeof)
- Operator zur Prototypenbestimmung (instanceof)
- Verwerfen von Rückgaben (void)
- Operator zum Löschen von Objekten (delete)
- Rest- oder Spread-Operator (...)
- Lambda-Ausdruck (=>)