Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Number.isNaN()
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éthodeNumber.isNaN() permet de déterminer si la valeur passée en argument estNaN, avec un typeNumber. Cette version est plus robuste que la méthode de l'objet globalisNaN.
Dans cet article
Exemple interactif
function typeOfNaN(x) { if (Number.isNaN(x)) { return "Number NaN"; } if (isNaN(x)) { return "NaN"; }}console.log(typeOfNaN("100F"));// Expected output: "NaN"console.log(typeOfNaN(NaN));// Expected output: "Number NaN"Syntaxe
Number.isNaN(valeurÀTester);Paramètres
valeurÀTesterLa valeur qu'on souhaite comparer à
NaN.
Valeur de retour
Un booléen qui indique si la valeur fournie en argument estNaN.
Description
Les deux opérateurs d'égalité,== et===, renvoientfalse pour vérifier queNaNest NaN. La fonctionNumber.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 globaleisNaN 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 valentNaN, elle renverratrue.
Exemples
Number.isNaN(NaN); // trueNumber.isNaN(Number.NaN); // trueNumber.isNaN(0 / 0); // true// tout le reste renverra : falseNumber.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 globalProthèse d'émulation (polyfill)
La fonction suivant fonctionne carNaN 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
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-number.isnan> |