Читать книгу JavaScript für Ungeduldige - Cay Horstmann - Страница 71
2.5Vergleichs- und Gleichheitsoperatoren
ОглавлениеJavaScript verfügt über die üblichen Vergleichsoperatoren:
< | kleiner als |
<= | kleiner oder gleich |
> | größer als |
>= | größer oder gleich |
Beim Vergleich von Zahlen funktionieren diese Operatoren wie erwartet:
3 < 4 // true
3 >= 4 // false
Jeder Vergleich mit NaN ergibt false:
NaN < 4 // false
NaN >= 4 // false
NaN <= NaN // false
Mit denselben Operatoren lassen sich auch Strings vergleichen, wobei die alphabetische Reihenfolge beachtet wird:
'Hello' < 'Goodbye' // false: H steht hinter G
'Hello' < 'Hi' // true: e steht vor i
Achten Sie beim Vergleich von Werten mit <, <=, > und >= darauf, dass entweder beide Operanden Zahlen oder beide Operanden Strings sind. Wandeln Sie die Operanden ggf. ausdrücklich um. Anderenfalls konvertiert JavaScript die Operanden. Das führt manchmal zu unerwünschten Ergebnissen, wie Sie im nächsten Abschnitt sehen werden.
Zum Test auf Gleichheit verwenden Sie die folgenden Operatoren:
=== strikt gleich
!== nichtstrikt gleich
Diese strikten Gleichheitsoperatoren sind unproblematisch. Operanden unterschiedlicher Typen sind niemals exakt gleich. Die Werte undefined und null sind nur zu sich selbst strikt gleich. Zahlen, boolesche Werte und Strings sind nur dann strikt gleich, wenn ihre Werte gleich sind.
'42' === 42 // false: unterschiedliche Typen
undefined === null // false
'42' === '4' + 2 // tru: derselbe String-Wert, nämlich '42'
Daneben gibt es die schwachen Gleichheitsoperatoren == und !=, die auch Werte unterschiedlicher Typen vergleichen. Das ist im Allgemeinen nicht nützlich. Genaueres dazu erfahren Sie im nächsten Abschnitt.