Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Objets natifs standards
  5. Object
  6. Object.is()

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

Object.is()

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 ⁨septembre 2015⁩.

La méthodeObject.is() permet de déterminer si deux valeurs sontles mêmes.

Syntaxe

js
Object.is(value1, value2);

Paramètres

valeur1

La première valeur à comparer.

valeur2

La seconde valeur à comparer.

Valeur de retour

Un booléen indiquant si les arguments ont la même valeur.

Description

Object.is() permet de déterminer si deux valeurs sontidentiques. Deux valeurs sont considérées identiques si :

  • elles sont toutes les deuxundefined
  • elles sont toutes les deuxnull
  • elles sont toutes les deuxtrue ou toutes les deuxfalse
  • elles sont des chaînes de caractères de la même longueur et avec les mêmes caractères (dans le même ordre)
  • elles sont toutes les deux le même objet
  • elles sont des nombres et
    • sont toutes les deux égales à+0
    • sont toutes les deux égales à-0
    • sont toutes les deux égales àNaN
    • sont non-nulles, ne sont pasNaN et ont toutes les deux la même valeur

Attention, ce n'est pas la même égalité qu'avec l'opérateur==. L'opérateur == applique différentes conversions à chaque opérande (si ils ne sont pas du même type) avant de tester l'égalité (d'où le comportement"" == false qui donnetrue),Object.is ne convertit aucune des deux valeurs.

Cette égalité est également différente de l'égalité stricte qu'on peut avoir avec l'opérateur===. L'opérateur === (et également l'opérateur ==) considère que-0 et+0 sont égales et queNumber.NaN n'est pas égal àNaN.

Exemples

js
Object.is("toto", "toto"); // trueObject.is(window, window); // trueObject.is("toto", "truc"); // falseObject.is([], []); // falsevar toto = { a: 1 };var truc = { a: 1 };Object.is(toto, toto); // trueObject.is(toto, truc); // falseObject.is(null, null); // true// Cas aux limites (cas spéciaux)Object.is(0, -0); // falseObject.is(-0, -0); // trueObject.is(NaN, 0 / 0); // true

Prothèse d'émulation (polyfill)

js
if (!Object.is) {  Object.is = function (v1, v2) {    // Algorithme SameValue    if (v1 === v2) {      //Étapes 1-5, 7-10      //Étapes 6.b-6.b +0 !=-0      return v1 !== 0 || 1 / v1 === 1 / v2;    } else {      //Étapes 6.a: NaN == NaN      return v1 !== v1 && v2 !== v2;    }  };}

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-object.is

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