280 Kapitel 7
Der strikte Gleichheitsoperator
Ich bin mit meinen
Vergleichen etwas
strenger.
Hinweis des Herausgebers:
Sicherstellen, dass wir ein
Foto von Doug Crockford
benutzen.
Die Gleichheit
strikter verstehen
Und hier gleich noch ein Geständnis: Es gibt nicht einen
Vergleichsoperator, sondern zwei. Den einfachen Test auf Gleichheit
kennen Sie schon: ==. Der andere ist === (strikte Gleichheit).
Richtig gesehen: drei Gleichheitszeichen. Sie können === überall
dort benutzen, wo auch == funktioniert. Aber vorher sollten Sie
noch verstehen, wie sich die beiden Operatoren unterscheiden.
Für == kennen Sie inzwischen die nötigen Regeln zur
Typumwandlung (sofern die Operanden unterschiedliche Datentypen
haben). Bei === sind die Regeln sogar noch komplizierter.
Nicht im Ernst. Tatsächlich gibt es für === nur eine Regel:
Lesen Sie das noch einmal. Haben zwei Werte den gleichen Typ, werden
sie verglichen. Sonst nicht, vergessen Sie's. Das Ergebnis ist dann ohne
Ausnahme false, eine Umwandlung findet nicht statt. Keine komplizierten
Regeln, nichts davon. Sie müssen nur wissen, dass zwei Werte bei ===
nur gleich sind, wenn sie den gleichen Datentyp und den gleichen Wert haben.
Zwei Werte sind nur dann strikt gleich, wenn Sie
den gleichen Wert und den gleichen Typ haben.
Schreiben Sie für jeden Vergleich unten auf, ob das
Ergebnis für === und == true oder false ist:
"42" == 42
==
===
"0" == 0
"0" == false
"true" == true
true == (1 == "1")
true
Knifflig!
"42" === 42
"0" === 0
"0" === false
"true" === true
true === (1 === "1")
Knifflig!
Spitzen Sie Ihren Bleistift

Get JavaScript-Programmierung von Kopf bis Fuß now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.