--- 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 ---
{{jsSidebar("Operators")}}

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.

{{EmbedInteractiveExample("pages/js/expressions-strict-equality.html")}}

Syntaxe

x === y

Description

Les opérateurs d'égalité stricte (=== et !==) utilisent l'algorithme de comparaison d'égalité stricte pour comparer deux opérandes.

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.

Exemples

Comparaison d'opérandes de même type

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

Comparaison d'opérandes de types différents

console.log("3" === 3);           // false

console.log(true === 1);          // false

console.log(null === undefined);  // false

Comparaison d'objets

const objet1 = {
  name: "coucou"
}

const objet2 = {
  name: "coucou"
}

console.log(objet1 === objet2);  // false
console.log(objet1 === objet1);  // true

Spécifications

{{Specifications}}

Compatibilité des navigateurs

{{Compat}}

Voir aussi