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 Operator für strikte Gleichheit (===
) überprüft, ob seine zwei Operanden
gleich sind, und gibt ein Boolean-Ergebnis zurück. Im Gegensatz zum Gleichheits-Operator
behandelt der Operator für strikte Gleichheit stets Operanden unterschiedlichen Typs 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 !==
) bieten die IsStrictlyEqual Semantik.
- Wenn die Operanden unterschiedliche Typen haben, wird
false
zurückgegeben. - Wenn beide Operanden Objekte sind, wird
true
nur zurückgegeben, wenn sie auf dasselbe Objekt verweisen. - Wenn beide Operanden
null
sind oder beide Operandenundefined
, wirdtrue
zurückgegeben. - Wenn einer der Operanden
NaN
ist, wirdfalse
zurückgegeben. - Andernfalls werden die Werte der beiden Operanden verglichen:
- Zahlen müssen denselben numerischen Wert haben.
+0
und-0
werden als derselbe Wert angesehen. - Zeichenfolgen 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 Gleichheits-Operator
(==
) ist, dass der ==
-Operator versucht, Operanden unterschiedlichen Typs vor dem Vergleich in denselben Typ zu konvertieren.
Beispiele
Vergleich von Operanden des gleichen 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 |