diff options
| author | julieng <julien.gattelier@gmail.com> | 2021-08-03 08:03:23 +0200 |
|---|---|---|
| committer | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-09-03 08:08:25 +0200 |
| commit | bf8e099b9c8b3c60d60b3712b4fc97b052c39887 (patch) | |
| tree | c101746d082c9581c94f5937519c7d0e2f4af8cb /files/fr/web/javascript/reference/global_objects/object/is | |
| parent | 844f5103992238c0c23203286dad16a466e89c97 (diff) | |
| download | translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.gz translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.bz2 translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.zip | |
convert content to md
Diffstat (limited to 'files/fr/web/javascript/reference/global_objects/object/is')
| -rw-r--r-- | files/fr/web/javascript/reference/global_objects/object/is/index.md | 127 |
1 files changed, 53 insertions, 74 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/object/is/index.md b/files/fr/web/javascript/reference/global_objects/object/is/index.md index 1f414765fb..91b7520c6a 100644 --- a/files/fr/web/javascript/reference/global_objects/object/is/index.md +++ b/files/fr/web/javascript/reference/global_objects/object/is/index.md @@ -11,54 +11,49 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Object/is original_slug: Web/JavaScript/Reference/Objets_globaux/Object/is --- -<div>{{JSRef}}</div> +{{JSRef}} -<p>La méthode <code><strong>Object.is()</strong></code> permet de déterminer si deux valeurs sont <a href="/fr/docs/Web/JavaScript/Guide/%C3%89galit%C3%A9_en_JavaScript">les mêmes</a>.</p> +La méthode **`Object.is()`** permet de déterminer si deux valeurs sont [les mêmes](/fr/docs/Web/JavaScript/Guide/%C3%89galit%C3%A9_en_JavaScript). -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="syntaxbox">Object.is(<var>value1</var>, <var>value2</var>);</pre> + Object.is(value1, value2); -<h3 id="Paramètres">Paramètres</h3> +### Paramètres -<dl> - <dt><code>valeur1</code></dt> - <dd>La première valeur à comparer.</dd> - <dt><code>valeur2</code></dt> - <dd>La seconde valeur à comparer.</dd> -</dl> +- `valeur1` + - : La première valeur à comparer. +- `valeur2` + - : La seconde valeur à comparer. -<h3 id="Valeur_de_retour">Valeur de retour</h3> +### Valeur de retour -<p>Un booléen indiquant si les arguments ont la même valeur.</p> +Un booléen indiquant si les arguments ont la même valeur. -<h2 id="Description">Description</h2> +## Description -<p><code>Object.is()</code> permet de déterminer si deux valeurs sont <a href="/fr/docs/Web/JavaScript/Guide/%C3%89galit%C3%A9_en_JavaScript">identiques</a>. Deux valeurs sont considérées identiques si :</p> +`Object.is()` permet de déterminer si deux valeurs sont [identiques](/fr/docs/Web/JavaScript/Guide/%C3%89galit%C3%A9_en_JavaScript). Deux valeurs sont considérées identiques si : -<ul> - <li>elles sont toutes les deux {{jsxref("undefined")}}</li> - <li>elles sont toutes les deux {{jsxref("null")}}</li> - <li>elles sont toutes les deux <code>true</code> ou toutes les deux <code>false</code></li> - <li>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)</li> - <li>elles sont toutes les deux le même objet</li> - <li>elles sont des nombres et - <ul> - <li>sont toutes les deux égales à <code>+0</code></li> - <li>sont toutes les deux égales à <code>-0</code></li> - <li>sont toutes les deux égales à {{jsxref("NaN")}}</li> - <li>sont non-nulles, ne sont pas <code>NaN</code> et ont toutes les deux la même valeur</li> - </ul> - </li> -</ul> +- elles sont toutes les deux {{jsxref("undefined")}} +- elles sont toutes les deux {{jsxref("null")}} +- elles sont toutes les deux `true` ou toutes les deux `false` +- 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 -<p>Attention, ce n'est pas la même égalité qu'avec l'opérateur {{jsxref("Opérateurs/Opérateurs_de_comparaison", "==", "#.C3.89galit.C3.A9_simple_(.3D.3D)")}}. 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 <code>"" == false</code> qui donne <code>true</code>), <code>Object.is</code> ne convertit aucune des deux valeurs.</p> + - sont toutes les deux égales à `+0` + - sont toutes les deux égales à `-0` + - sont toutes les deux égales à {{jsxref("NaN")}} + - sont non-nulles, ne sont pas `NaN` et ont toutes les deux la même valeur -<p>Cette égalité est également différente de l'égalité stricte qu'on peut avoir avec l'opérateur {{jsxref("Opérateurs/Opérateurs_de_comparaison", "===", "#.C3.89galit.C3.A9_stricte_(.3D.3D.3D)")}}. L'opérateur === (et également l'opérateur ==) considère que <code>-0</code> et <code>+0</code> sont égales et que {{jsxref("Number.NaN")}} n'est pas égal à {{jsxref("NaN")}}.</p> +Attention, ce n'est pas la même égalité qu'avec l'opérateur {{jsxref("Opérateurs/Opérateurs_de_comparaison", "==", "#.C3.89galit.C3.A9_simple_(.3D.3D)")}}. 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 donne `true`), `Object.is` ne convertit aucune des deux valeurs. -<h2 id="Exemples">Exemples</h2> +Cette égalité est également différente de l'égalité stricte qu'on peut avoir avec l'opérateur {{jsxref("Opérateurs/Opérateurs_de_comparaison", "===", "#.C3.89galit.C3.A9_stricte_(.3D.3D.3D)")}}. L'opérateur === (et également l'opérateur ==) considère que `-0` et `+0` sont égales et que {{jsxref("Number.NaN")}} n'est pas égal à {{jsxref("NaN")}}. -<pre class="brush:js;">Object.is("toto", "toto"); // true +## Exemples + +```js +Object.is("toto", "toto"); // true Object.is(window, window); // true Object.is("toto", "truc"); // false @@ -74,11 +69,13 @@ Object.is(null, null); // true // Cas aux limites (cas spéciaux) Object.is(0, -0); // false Object.is(-0, -0); // true -Object.is(NaN, 0/0); // true</pre> +Object.is(NaN, 0/0); // true +``` -<h2 id="Prothèse_d'émulation_(polyfill)">Prothèse d'émulation (<em>polyfill</em>)</h2> +## Prothèse d'émulation (_polyfill_) -<pre class="brush:js">if (!Object.is) { +```js +if (!Object.is) { Object.is = function(v1, v2) { // Algorithme SameValue if (v1 === v2) { //Étapes 1-5, 7-10 @@ -86,42 +83,24 @@ Object.is(NaN, 0/0); // true</pre> return v1 !== 0 || 1 / v1 === 1 / v2; } else { //Étapes 6.a: NaN == NaN - return v1 !== v1 && v2 !== v2; + return v1 !== v1 && v2 !== v2; } }; -}</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ES2015', '#sec-object.is', 'Object.is')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Définition initiale</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-object.is', 'Object.is')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Object.is")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li><a href="/fr/docs/Web/JavaScript/Guide/Égalité_en_JavaScript">Guide JavaScript : L'égalité en JavaScript</a> qui illustre les trois manières de comparer en JavaScript</li> - <li>{{jsxref("Opérateurs/Opérateurs_de_comparaison","Les opérateurs de comparaison","",1)}}</li> -</ul> +} +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ------------------------------------------------------------------------ | ---------------------------- | ------------------- | +| {{SpecName('ES2015', '#sec-object.is', 'Object.is')}} | {{Spec2('ES2015')}} | Définition initiale | +| {{SpecName('ESDraft', '#sec-object.is', 'Object.is')}} | {{Spec2('ESDraft')}} | | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Object.is")}} + +## Voir aussi + +- [Guide JavaScript : L'égalité en JavaScript](/fr/docs/Web/JavaScript/Guide/Égalité_en_JavaScript) qui illustre les trois manières de comparer en JavaScript +- {{jsxref("Opérateurs/Opérateurs_de_comparaison","Les opérateurs de comparaison","",1)}} |
