Strikte Gleichheit (===)
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Der strikte Gleichheitsoperator (===
) prüft, ob seine beiden Operanden gleich sind und gibt ein Boolesches Ergebnis zurück. Im Gegensatz zum Gleichheitsoperator betrachtet der strikte Gleichheitsoperator Operanden unterschiedlichen Typs immer als unterschiedlich.
Probieren Sie es aus
Syntax
x === y
Beschreibung
Die strikten Gleichheitsoperatoren (===
und !==
) bieten die IsStrictlyEqual Semantik.
-
Wenn die Operanden unterschiedliche Typen haben, gibt
false
zurück. -
Wenn beide Operanden Objekte sind, gibt
true
nur zurück, wenn sie sich auf dasselbe Objekt beziehen. -
Wenn beide Operanden
null
sind oder beide Operandenundefined
sind, gibttrue
zurück. -
Wenn einer der Operanden
NaN
ist, gibtfalse
zurück. -
Andernfalls werden die Werte der beiden Operanden verglichen:
- Zahlen müssen denselben numerischen Wert haben.
+0
und-0
werden als derselbe Wert betrachtet. - Zeichenketten müssen dieselben Zeichen in derselben Reihenfolge haben.
- Boolesche Werte müssen beide
true
oder beidefalse
sein.
- Zahlen müssen denselben numerischen Wert haben.
Der bemerkenswerteste Unterschied zwischen diesem Operator und dem Gleichheitsoperator
(==
) besteht darin, dass der ==
Operator versucht, die Operanden vor dem Vergleich in denselben Typ zu konvertieren, wenn sie unterschiedliche Typen haben.
Beispiele
Vergleich von Operanden desselben Typs
"hello" === "hello"; // true
"hello" === "hola"; // false
3 === 3; // true
3 === 4; // false
true === true; // true
true === false; // false
null === null; // true
Vergleich von Operanden unterschiedlichen Typs
"3" === 3; // false
true === 1; // false
null === undefined; // false
3 === new Number(3); // false
Vergleich von Objekten
const object1 = {
key: "value",
};
const object2 = {
key: "value",
};
console.log(object1 === object2); // false
console.log(object1 === object1); // true
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-equality-operators |
Browser-Kompatibilität
BCD tables only load in the browser