[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/Strict_equality [Back]  [Original]

galit stricte (===) - JavaScript | MDN

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 English Always switch to English

galit stricte (===)

Baseline
Large disponibilit

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'oprateur d'galit stricte (===) vrifie si ses deux oprandes sont gaux et renvoie un boolen correspondant au rsultat. la diffrence de l'oprateur d'galit, l'oprateur d'galit stricte considre toujours des oprandes de types diffrents comme tant diffrents.

Dans cet article

Exemple interactif

console.log(1 === 1);
// Expected output: true

console.log("hello" === "hello");
// Expected output: true

console.log("1" === 1);
// Expected output: false

console.log(0 === false);
// Expected output: false

Syntaxe

js
x === y;

Description

Les oprateurs d'galit stricte (=== et !==) utilisent l'algorithme de comparaison d'galit stricte pour comparer deux oprandes.

  • Si les oprandes sont de types diffrents, on renvoie false.
  • Si les deux oprandes sont des objets, on renvoie true uniquement s'ils rfrent au mme objet.
  • Si les deux oprandes valent null ou si les deux oprandes valent undefined, on renvoie true.
  • Si au moins l'un des oprandes vaut NaN, on renvoie false.
  • Sinon, on compare la valeur des deux oprandes :
    • Les nombres doivent avoir la mme valeur. +0 and -0 sont considrs comme gaux.
    • Les chanes de caractres doivent avoir les mmes caractres, dans le mme ordre.
    • Les boolens doivent avoir la mme valeur (tous les deux true ou tous les deux false).

La diffrence fondamentale avec l'oprateur d'galit (==) est que, lorsque les oprandes sont de types diffrents, == tentera une conversion vers un type commun avant la comparaison.

Exemples

Comparaison d'oprandes de mme type

js
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'oprandes de types diffrents

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

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

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

Comparaison d'objets

js
const objet1 = {
  name: "coucou",
};

const objet2 = {
  name: "coucou",
};

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

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-equality-operators

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page