Vergleiche

Man kann Werte auf Gleichheit und Ungleichheit, auf größer und kleiner prüfen. Das Ergebnis eines solchen Vergleiches ist entweder true oder false. Für den Vergleich auf Gleichheit / Ungleichheit gibt es vier Operatoren:

=== strikte Gleichheit
!== strikte Ungleichheit
== lose Gleichheit
!= lose Ungleichheit

Strikte Gleichheit liegt vor, wenn die Werte vom gleichen Typ sind und wenn sie gleich sind. Lose Gleichheit liegt vor, wenn die Werte nach einer möglichen Typkonvertierung gleich sind. So ist die Zahl 1 und der String „1“ nicht strikt gleich, da sie nicht denselben Typ besitzen. Sie sind aber lose gleich, da sich der String „1“ in die Zahl 1 konvertieren lässt und diese Werte dann gleich sind.

// Alle Ausdrücke ergeben true.

1 === 1;
1 !== 2;
"1" !== 1;
"Hallo Welt" === "Hallo Welt";
false === false;
true !== false;

1 == 1;
"1" == 1;
0 == false;
1 == true;
2 != true;
2 != false;
"0" == false;

Bei der Typkonvertierung wird versucht, Strings in entsprechende Zahlen umzuwandeln. false wird in 0 und true wird in 1 umgewandelt. Da diese (nicht mal vollständigen) Konvertierungs-Regeln recht kompliziert sind und da man Werte von unterschiedlichem Typ erst garnicht vergleichen sollte, sollte man immer die strikte Gleichheit bzw. Ungleichheit verwenden.

Für den Größenvergleich stehen ebensfalls vier Operatoren zur Verfügung:

<= kleiner gleich
< echt kleiner
>= größer gleich
> echt größer

Mit diesen Operatoren kann man Zahlen und Strings vergleichen. Strings werden wie in einem Lexikon sortiert. Dabei sind Großbuchstaben kleiner als Kleinbuchstaben und Ziffern (in Strings) kleiner als Buchstaben. Auch hier gilt: nur gleiche Datentypen miteinander vergleichen, also Zahlen mit Zahlen und Strings mit Strings.

// Alle Ausdrücke ergeben true.

1 < 2;
3.00001 > 3;
1 <= 1;
9 < 10;

"Arno" < "Franz";
"Hannah" > "Hanna";
"Rot" > "lila";
"9" > "10";

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.


 *