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-2025 Movatter.jp