===
y !==
sind strenge Vergleichsoperatoren:
JavaScript hat sowohl strict als auch Typ-konvertierenden Gleichheitsvergleich. Für strict
Gleichheit der Objekte, die verglichen werden, müssen vom gleichen Typ sein und:
- Zwei Zeichenketten sind streng gleich, wenn sie die gleiche Folge von Zeichen, die gleiche Länge und die gleichen Zeichen an den entsprechenden Positionen haben.
- Zwei Zahlen sind streng gleich, wenn sie numerisch gleich sind (den den gleichen Zahlenwert haben).
NaN
ist nicht mit nichts gleichzusetzen, einschließlich NaN
. Positive und negative Nullen sind gleich einander gleich.
- Zwei boolesche Operanden sind streng gleich, wenn beide wahr sind oder beide falsch sind.
- Zwei Objekte sind streng gleich, wenn sie sich auf dasselbe
Object
.
Null
y Undefined
Typen sind ==
(aber nicht ===
). [D.h. ( Null==Undefined
) ist true
sondern ( Null===Undefined
) ist false
]
Vergleich Operatoren - MDC
1 Stimmen
==
es===
mit Typkonvertierung (auch bekannt als Coercion). Um wirklich zu verstehen, was ich meine, können Sie sich diese JavaScript-Funktion ansehen, die sich genau so verhält==
: stackoverflow.com/a/38856418/9847800 Stimmen
Einige möglicherweise überraschende Beispiele für
==
.3 Stimmen
Ah, ja, der abstrakte Gleichheitsoperator (
==
), auch bekannt als der Wenn-gleiche-Typ-dann-strenge-Gleichheit-Vergleich-sonst-behandeln-null-und-undefiniert-und-das-Dokument-alle-als-Gleiche-aber-wenn-Zeichenfolge-beteiligt-mit-Zahl-oder-bigint-dann-vergleiche-es-Zeichenfolge-zu-relevanten-numerischen-Typen-aber-wenn-boolesch-beteiligt- dann-verknüpfe-es-mit-Zahl-aber-wenn-Objekt-verknüpft-dann-verknüpfe-es-mit-Primitiv-und-wenn-numerische-Typen-verknüpft-dann-vergleiche-ihre-numerischen-Werte-mit-unterschiedlichen-Infinitäten-und-nicht-gleich-sein-und-dann-wiederhole-es-nach-Bedarf-Operator.