--- title: Égalité stricte (===) slug: Web/JavaScript/Reference/Operators/Strict_equality tags: - JavaScript - Language feature - Operator - Reference browser-compat: javascript.operators.strict_equality translation-of: Web/JavaScript/Reference/Operators/Strict_equality ---
L'opérateur d'égalité stricte (===
) vérifie si ses deux opérandes sont égaux et renvoie un booléen correspondant au résultat. À la différence de l'opérateur d'égalité, l'opérateur d'égalité stricte considère toujours des opérandes de types différents comme étant différents.
x === y
Les opérateurs d'égalité stricte (===
et !==
) utilisent l'algorithme de comparaison d'égalité stricte pour comparer deux opérandes.
false
.true
uniquement s'ils réfèrent au même objet.null
ou si les deux opérandes valent undefined
, on renvoie true
.NaN
, on renvoie false
.+0
and -0
sont considérés comme égaux.true
ou tous les deux false
).La différence fondamentale avec l'opérateur d'égalité (==
) est que, lorsque les opérandes sont de types différents, ==
tentera une conversion vers un type commun avant la comparaison.
console.log("hello" === "hello"); // true console.log("hello" === "hola"); // false console.log(3 === 3); // true console.log(3 === 4); // false console.log(true === true); // true console.log(true === false); // false console.log(null === null); // true
console.log("3" === 3); // false console.log(true === 1); // false console.log(null === undefined); // false
const objet1 = { name: "coucou" } const objet2 = { name: "coucou" } console.log(objet1 === objet2); // false console.log(objet1 === objet1); // true
{{Specifications}}
{{Compat}}