JavaScript Operators?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das sind Vergleichoperatoren. Als Ergebnis kommt true oder false raus.

  • ==: gleich
  • !=: ungleich
  • <=: kleiner gleich
  • >=: größer gleich

Beispiel: 0 <= 1 ergibt true, weil 0 kleiner oder gleich 1 ist.

Interessant wird es wenn man was anderes als nur Zahlen vergleicht, insbesondere, wenn die Typen unterschiedlich sind, z.B. wenn man 0 == "0" vergleicht, also die Zahl 0 mit der Zeichenkette 0. JavaScript versucht zunächst in eine Zahl umzuwandeln. SO wird "0" in 0 umgewandelt und als Ergebnis kommt true raus. Wenn man diese Umwandlung nicht will, verwendet man 0 === "0". Dann ist das Ergebnis false, weil auf beiden Seiten unterschiedliche Typen stehen. Analog verwendet man !== statt !=, wenn man will, dass unterschiedliche Typen genügen, dass als Ergebnis false rauskommt. Wenn die Umwandlung in eine Zahl nicht funktioniert, wird versucht alles in Zeichenketten umzuwandeln, und dann wird alphabetisch verglichen.

Ave!

  • == (Vergleich ohne, dass der Typ stimmen muss)
  • === (Vergleich, bei dem der Typ stimmen muss)
  • != (Ungleich, ohne dass der Typ stimmen muss)
  • !== (Ungleich, bei dem der Typ stimmen muss)
  • <= (Kleiner, oder gleich)
  • >= (Größer, oder gleich)

Beispiele:

"1" == 1  | true (Zwar wird hier ein String mit einer Nummer verglichen, aber der String wird zu einer Nummer (sofern möglich) umgewandelt und dann wird verglichen)
"1" === 1 | false (Hier wird sowohl der Datentyp als auch der Wert verglichen, der Datentyp ist falsch, daher ist auch der Vergleich falsch)
1 === 1   | true (Datentyp und Wert sind gleich)
"1" != 2  | true (Der Wert ist ungleich. Auch hier ist der Datentyp egal)
"1" !== 1 | true (Zwar ist der Wert gleich, aber der Datentyp stimmt nicht)
1 !== 2   | true (Datentyp ist gleich, aber die Werte sind ungleich, also Wahr)
1 <= 2 | true  (1 ist kleiner oder gleich 2)
2 <= 2 | true  (2 ist kleiner oder gleich 2)
3 <= 2 | false (3 ist nicht kleiner oder gleich 2)
1 >= 2 | false (1 ist nicht größer oder gleich 2)
2 >= 2 | true  (2 ist größer oder gleich 2)
3 >= 2 | true  (3 ist größer oder gleich 2)

Hoffe das war verständlich genug.