Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Expressions et opérateurs
  5. Égalité stricte (===)

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

Égalité stricte (===)

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

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 del'opérateur d'égalité, l'opérateur d'égalité stricte considère toujours des opérandes de types différents comme étant différents.

Exemple interactif

console.log(1 === 1);// Expected output: trueconsole.log("hello" === "hello");// Expected output: trueconsole.log("1" === 1);// Expected output: falseconsole.log(0 === false);// Expected output: false

Syntaxe

js
x === y;

Description

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

  • Si les opérandes sont de types différents, on renvoiefalse.
  • Si les deux opérandes sont des objets, on renvoietrue uniquement s'ils réfèrent au même objet.
  • Si les deux opérandes valentnull ou si les deux opérandes valentundefined, on renvoietrue.
  • Si au moins l'un des opérandes vautNaN, on renvoiefalse.
  • Sinon, on compare la valeur des deux opérandes :
    • Les nombres doivent avoir la même valeur.+0 and-0 sont considérés comme égaux.
    • Les chaînes de caractères doivent avoir les mêmes caractères, dans le même ordre.
    • Les booléens doivent avoir la même valeur (tous les deuxtrue ou tous les deuxfalse).

La différence fondamentale avecl'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

js
console.log("hello" === "hello"); // trueconsole.log("hello" === "hola"); // falseconsole.log(3 === 3); // trueconsole.log(3 === 4); // falseconsole.log(true === true); // trueconsole.log(true === false); // falseconsole.log(null === null); // true

Comparaison d'opérandes de types différents

js
console.log("3" === 3); // falseconsole.log(true === 1); // falseconsole.log(null === undefined); // false

Comparaison d'objets

js
const objet1 = {  name: "coucou",};const objet2 = {  name: "coucou",};console.log(objet1 === objet2); // falseconsole.log(objet1 === objet1); // true

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-equality-operators

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp