Vergleiche in JavaScript
Der Operator »<« erlaubt es auszudrücken, daß ein Wert vor einem anderen Wert kommt.
Einführende Beispiele
Bei Zahlen drückt dieser Operator aus, daß die linke Zahl kleiner als die rechte ist.
- Auswertung
2 < 2
false
Bei Zeichenfolgen drückt dieser Operator aus, daß die linke Zeichenfolge lexikographisch (alphabetisch) vor der rechten kommt.
- Auswertung
'abc' < 'abc'
false
Bezeichnung
Dieser Operator wird „Kleiner-Operator “ genannt. Man spricht ihn als „kleiner “ oder ausführlicher als „ist kleiner als “.
Schreibweisen
- JavaScript
2 < 2
- Mathematik
- 2 < 2
- aus deutsch
- Zwei ist kleiner als Zwei
Die Syntax von »<«
Der Operator »<« ist ein binärer Infixoperator, wie beispielsweise auch »!==«.
- Neue, erweiterte Syntax (vereinfacht)
Ausdruck
.----------.
---.----------------->| Literal |-------------------------------.--->
| '----------' ^
| .-. .----------. .-. |
'-------->( ( )--->| Ausdruck |--->( ) )----------------------'
| '-' '----------' '-' |
| .-. .----------. |
'-------->( - )--->| Ausdruck |-------------------------------'
| '-' '----------' |
| .-. .----------. |
'-------->( + )--->| Ausdruck |-------------------------------'
| '-' '----------' |
| .------. .----------. |
'--->( typeof )--->| Ausdruck |-------------------------------'
| '------' '----------' |
| .----------. .-. .----------. |
'----------------->| Ausdruck |--->( * )----->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------------->| Ausdruck |--->( / )----->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------------->| Ausdruck |--->( + )----->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------------->| Ausdruck |--->( - )----->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------------->| Ausdruck |--->( < )----->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .---. .----------. |
'----------------->| Ausdruck |--->( === )--->| Ausdruck |----'
| '----------' '---' '----------' |
| .----------. .---. .----------. |
'----------------->| Ausdruck |--->( !== )--->| Ausdruck |----'
'----------' '---' '----------'
Prioritäten
Der Operator »<« hat höhere Priorität als der Operator »!==« und ist linksassoziativ.
- Eigenschaften von Operatoren
A P A (A = Aritaet, P = Position [Zirkumfix, Praefix, Infix], A = Assoziativitaet)
() 1 Z Eingeklammerter Ausdruck
+ - typeof 1 P Unaere vorangestellte Operatoren (Vorzeichen)
* / 2 I L "Punktrechnung": Multiplikation, Division
+ - 2 I L "Strichrechnung": Addition, Subtraktion
< 2 I L Kleiner
=== !== 2 I L Gleichheit, Ungleichheit
Die Semantik von »<«
Das Wichtigste zur Semantik wurde schon im Abschnitt „Einführende Beispiele“ gesagt.
Numerische Vergleiche
Unter einem numerischen Vergleich verstehen wir hier einen Vergleich zweier Zahlenwerte (numerische Zeichenfolgen zählen wir hier nicht zu den Zahlenwerten).
Wir zeigen Beispiele zum numerischen Vergleich:
Zwei ist kleiner als Drei.
- Auswertung
2 < 3
true
Drei ist nicht kleiner als Drei, sondern gleich.
- Auswertung
3 < 3
false
Vier ist nicht kleiner als Drei, sondern größer.
- Auswertung
4 < 3
false
Negative Zahlen sind kleiner als Positive
- Auswertung
-1 < 1
true
Auch Zahlen mit Nachkommastellen können verglichen werden.
- Auswertung
2.3 < 2.4
true
Zeichenfolgenvergleiche
Unter einem Zeichenfolgenvergleich verstehen wir hier einen Vergleich zweier Zeichenfolge (numerisch oder nicht-numerisch).
Wir zeigen Beispiele zum lexikographischen Vergleich:
»a« kommt im Unicode vor »b«.
- Auswertung
'a' < 'b'
true
»A« kommt im Unicode vor »a«.
- Auswertung
'A' < 'a'
true
Die beiden Zeichenfolgen unterscheiden sich schon an der ersten Stelle, und das Zeichen, das bei der linken Zeichenfolgen an dieser Stelle steht (»b«) kommt vor dem Zeichen, das bei der rechten Zeichenfolgen an jener Stelle steht (»c«).
- Auswertung
'ba' < 'cad'
true
Die beiden Zeichenfolgen sind zunächst gleich (beide beginnen mit »a«), aber dann unterscheiden sie sich an einer Stelle (»b« beziehungsweise »c«), und das Zeichen, das bei der linken Zeichenfolge an dieser Stelle steht, (»b«) kommt vor dem rechten Zeichen, das bei der rechten Zeichenfolge an jener Stelle steht (»c«).
- Auswertung
'ab' < 'ac'
true
Ein Präfix gilt als kleiner. (»ab« ist ein Präfix von »abc«, da »abc« mit »ab« beginnt.)
- Auswertung
'ab' < 'abc'
true
Zeichenfolgen mit Ziffern werden nach denselben Regeln verglichen (lexikographisch) wie andere Zeichenfolgen.
- Auswertung
'01' < '1'
true
- Auswertung
'123' < '89'
true
- Auswertung
123 < 89
false
Gemischte Vergleiche
Unter einem gemischten Vergleich verstehen wir hier einen Vergleich einer Zeichenfolge (numerisch oder nicht-numerisch) mit einer Zahl.
Bei einem gemischten Vergleich wird die Zeichenfolge in eine Zahl gewandelt (als stünde das Vorzeichen »+« davor).
- Auswertung
+'01'
1
- Auswertung
'01' < 1
false
- Auswertung
'01' < 2
true
- Auswertung
+' '
0
- Auswertung
' ' < 1
true
Vergleiche mit Wahrheitswerten
Falls ein Wahrheitswert in einem Vergleich vorkommt, so wird dieser in eine Zahl gewandelt (als stünde das Vorzeichen »+« davor) und der Vergleich wird anschließend so durchgeführt wie ein Vergleich mit einer Zahl an Stelle des Wahrheitswertes.
- Auswertung
false < true
true
- Auswertung
true < 2
true
- Auswertung
true < 1
false
Übungsfragen
? Übungsfrage
Können Sie die Werte der folgenden Ausdrücke vorhersagen?
- »true < true < true«
- »false < false < false«
- »0 < 0.5 < 1«