Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 Juli 2015.
Derstrikte Gleichheitsoperator (===) überprüft, ob seine beiden Operanden gleich sind, und gibt ein boolesches Ergebnis zurück. Im Gegensatz zumGleichheitsoperator betrachtet der strikte Gleichheitsoperator Operanden verschiedener Typen immer als unterschiedlich.
In diesem Artikel
Probieren Sie es aus
console.log(1 === 1);// Expected output: trueconsole.log("hello" === "hello");// Expected output: trueconsole.log("1" === 1);// Expected output: falseconsole.log(0 === false);// Expected output: falseSyntax
x === yBeschreibung
Die strikten Gleichheitsoperatoren (=== und!==) bieten dieIsStrictlyEqual Semantik.
- Wenn die Operanden unterschiedliche Typen haben, wird
falsezurückgegeben. - Wenn beide Operanden Objekte sind, wird
truenur zurückgegeben, wenn sie auf dasselbe Objekt verweisen. - Wenn beide Operanden
nullsind oder beide Operandenundefinedsind, wirdtruezurückgegeben. - Wenn ein Operand
NaNist, wirdfalsezurückgegeben. - Andernfalls werden die Werte der beiden Operanden verglichen:
- Zahlen müssen identische numerische Werte haben.
+0und-0werden als derselbe Wert betrachtet. - Zeichenfolgen müssen dieselben Zeichen in derselben Reihenfolge haben.
- Booleans müssen beide
trueoder beidefalsesein.
- Zahlen müssen identische numerische Werte haben.
Der bemerkenswerteste Unterschied zwischen diesem Operator und demGleichheitsoperator (==) ist, 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"; // false3 === 3; // true3 === 4; // falsetrue === true; // truetrue === false; // falsenull === null; // trueVergleich von Operanden verschiedener Typen
"3" === 3; // falsetrue === 1; // falsenull === undefined; // false3 === new Number(3); // falseVergleich von Objekten
const object1 = { key: "value",};const object2 = { key: "value",};console.log(object1 === object2); // falseconsole.log(object1 === object1); // trueSpezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-equality-operators> |