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

js
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 Operanden undefined, wird true zurückgegeben.
  • Wenn einer der Operanden NaN ist, wird false 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 beide false sein.

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

js
"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

js
"3" === 3; // false
true === 1; // false
null === undefined; // false
3 === new Number(3); // false

Vergleich von Objekten

js
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

Browser-Kompatibilität

Siehe auch