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 unterschiedlicher Typen immer als unterschiedlich.
Probieren Sie es aus
console.log(1 === 1);
// Expected output: true
console.log("hello" === "hello");
// Expected output: true
console.log("1" === 1);
// Expected output: false
console.log(0 === false);
// Expected output: false
Syntax
x === y
Beschreibung
Die strikten Gleichheitsoperatoren (===
und !==
) verwenden die IsStrictlyEqual Semantik.
-
Sind die Operanden unterschiedlichen Typs, wird
false
zurückgegeben. -
Sind beide Operanden Objekte, wird
true
nur dann zurückgegeben, wenn sie auf dasselbe Objekt verweisen. -
Sind beide Operanden
null
oder beideundefined
, wirdtrue
zurückgegeben. -
Ist einer der Operanden
NaN
, wirdfalse
zurückgegeben. -
Andernfalls werden die Werte der beiden Operanden verglichen:
- Zahlen müssen denselben numerischen Wert haben.
+0
und-0
werden als gleicher Wert betrachtet. - Zeichenketten müssen dieselben Zeichen in derselben Reihenfolge haben.
- Booleans 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 Vergleichen in denselben Typ zu konvertieren, wenn sie unterschiedlichen Typs sind.
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® 2025 Language Specification # sec-equality-operators |