Vergleiche
| Operator | Bedeutung |
|---|---|
=== | gleich (Wert und Typ) |
!== | ungleich |
< > <= >= | größer/kleiner |
==, != | gleich/ungleich mit Typumwandlung (vermeiden) |
Ergebnis
true false true true false true false true true true false
Nutze immer === und !==. Der lockere Vergleich == führt zu verblüffenden Ergebnissen. Beachte auch: Strings werden Zeichen für Zeichen verglichen ("10" < "9" ist wahr), Zahlen numerisch.
Logische Operatoren
| Operator | Name | Ergebnis |
|---|---|---|
&& | und | wahr, wenn beide wahr |
|| | oder | wahr, wenn mindestens einer wahr |
! | nicht | kehrt um |
Ergebnis
true true false
Kurzschluss-Auswertung
&& und || liefern nicht nur true/false, sondern einen der beiden Operanden, und werten den rechten nur bei Bedarf aus:
Ergebnis
Mia Standard 0 rechts Gast
Nullish Coalescing ?? und Optional Chaining ?.
|| ersetzt jeden falsy Wert, auch 0 und "". ?? ersetzt nur null und undefined:
Ergebnis
10 0 undefined unbekannt
Mit ?. brichst du den Zugriff ab, sobald ein Wert null oder undefined ist, statt einen Fehler zu werfen.
Ternärer Operator
Ergebnis
minderjährig
Zuweisungsoperatoren
Ergebnis
1 1 neu 99
Rangfolge (Auszug)
Von stark nach schwach: ! und ++, dann **, * / %, + -, Vergleiche, ===, &&, ||, ??, ?:, Zuweisung. Setze im Zweifel Klammern: (a + b) * c.
Bitoperatoren (kurz)
&, |, ^, ~, <<, >> arbeiten auf einzelnen Bits, etwa bei Flags und Masken:
Ergebnis
1 7 6 16 63
Merke
- Immer
===und!==verwenden &&,||liefern einen der Operanden (Kurzschluss)??ersetzt nurnull/undefined,||jeden falsy Wert?.verhindert Fehler bei fehlenden Zwischenwertenbedingung ? a : bist die Kurzform von if/else
Aufgabe
Gib mit dem ternären Operator "gerade" oder "ungerade" für eine Zahl aus und setze mit ?? einen Standardwert für eine fehlende Eigenschaft.