From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../objets_globaux/number/isnan/index.html | 104 +++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 files/fr/web/javascript/reference/objets_globaux/number/isnan/index.html (limited to 'files/fr/web/javascript/reference/objets_globaux/number/isnan/index.html') diff --git a/files/fr/web/javascript/reference/objets_globaux/number/isnan/index.html b/files/fr/web/javascript/reference/objets_globaux/number/isnan/index.html new file mode 100644 index 0000000000..5915747056 --- /dev/null +++ b/files/fr/web/javascript/reference/objets_globaux/number/isnan/index.html @@ -0,0 +1,104 @@ +--- +title: Number.isNaN() +slug: Web/JavaScript/Reference/Objets_globaux/Number/isNaN +tags: + - ECMAScript 2015 + - JavaScript + - Méthode + - Number + - polyfill +translation_of: Web/JavaScript/Reference/Global_Objects/Number/isNaN +--- +
{{JSRef}}
+ +

La méthode Number.isNaN() permet de déterminer si la valeur passée en argument est {{jsxref("NaN")}}, avec un type {{jsxref("Number")}}. Cette version est plus robuste que la méthode de l'objet global {{jsxref("isNaN")}}.

+ +
{{EmbedInteractiveExample("pages/js/number-isnan.html", "taller")}}
+ + + +

Syntaxe

+ +
Number.isNaN(valeurÀTester)
+ +

Paramètres

+ +
+
valeurÀTester
+
La valeur qu'on souhaite comparer à {{jsxref("NaN")}}.
+
+ +

Valeur de retour

+ +

Un booléen qui indique si la valeur fournie en argument est {{jsxref("NaN")}}.

+ +

Description

+ +

Les deux opérateurs d'égalité, {{jsxref("Opérateurs/Opérateurs_de_comparaison", "==", "#.C3.89galit.C3.A9_simple_(.3D.3D)")}} et {{jsxref("Opérateurs/Opérateurs_de_comparaison", "===", "#.C3.89galit.C3.A9_stricte_(.3D.3D.3D)")}}, renvoient false pour vérifier que {{jsxref("NaN")}} est NaN. La fonction Number.isNaN est nécessaire pour distinguer ce cas. Le résultat de cette comparaison sera différent avec les autres méthodes de comparaisons en JavaScript.

+ +

En effet, la fonction globale {{jsxref("isNaN")}} convertit l'argument en un nombre.  Number.isNaN ne convertit pas l'argument. Cela signifie qu'on peut passer des valeurs qui, normalement, seraient converties en NaN, mais qui ne sont pas NaN. Cela signifie également que, uniquement lorsque la méthode sera utilisée avec des nombres qui valent NaN, elle renverra true.

+ +

Exemples

+ +
Number.isNaN(NaN); // true
+Number.isNaN(Number.NaN); // true
+Number.isNaN(0 / 0); // true
+
+// tout le reste renverra : false
+Number.isNaN(undefined);
+Number.isNaN({});
+
+Number.isNaN(true);
+Number.isNaN(null);
+Number.isNaN(37);
+
+Number.isNaN("37");
+Number.isNaN("37.37");
+Number.isNaN("");
+Number.isNaN(" ");
+Number.isNaN("NaN");
+Number.isNaN("blabla"); // ex : cette valeur aurait rendu true avec la méthode isNaN de l'objet global
+ +

Prothèse d'émulation (polyfill)

+ +

La fonction suivant fonctionne car NaN est la seule valeur JavaScript qui n'est pas égale à elle-même.

+ +
Number.isNaN = Number.isNaN || function(value) {
+    return typeof value === "number" && isNaN(value);
+}
+ +

Spécifications

+ + + + + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('ES2015', '#sec-number.isnan', 'Number.isnan')}}{{Spec2('ES2015')}}Définition initiale.
{{SpecName('ESDraft', '#sec-number.isnan', 'Number.isnan')}}{{Spec2('ESDraft')}} 
+ +

Compatibilité des navigateurs

+ + + +

{{Compat("javascript.builtins.Number.isNaN")}}

+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf