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® 2026 Language Specification # sec-equality-operators |