La propriété globale NaN
est une valeur utilisée pour représenter une quantité qui n'est pas un nombre (Not a Number en anglais).
Attributs de NaN |
|
---|---|
Écrivable | Non |
Énumérable | Non |
Configurable | Non |
Syntaxe
NaN
Description
NaN
est une propriété de l'objet global, c'est-à-dire qu'elle est accessible globalement.
La valeur initiale de NaN
est Number.NaN
. Dans les navigateurs modernes, NaN
est une propriété non-configurable et non-écrivable. Si ce n'est pas le cas, il faut éviter de la modifier et de l'écraser.
Il est rare d'utiliser expressément NaN
dans un programme. On récupère généralement NaN
comme le résultat d'une fonction mathématique qui échoue (Math.sqrt(-1)
) où quand une fonction qui tente d'interpréter un nombre échoue (parseInt("blabla")
).
Tester NaN
Les opérateurs d'égalité (==
et ===
) ne peuvent pas être utilisé pour tester une valeur par rapport à NaN
. Il faut utiliser Number.isNaN()
ou isNaN()
à la place.
NaN === NaN; // false Number.NaN === NaN; // false isNaN(NaN); // true isNaN(Number.NaN); // true
Spécifications
Spécification | Statut | Commentaires |
---|---|---|
Première édition d'ECMAScript. | Standard | Définition initiale. Implémentée avec JavaScript 1.3 |
ECMAScript 5.1 (ECMA-262) La définition de 'NaN' dans cette spécification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'NaN' dans cette spécification. |
Standard | |
ECMAScript 2016 Draft (7th Edition, ECMA-262) La définition de 'NaN' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) | (Oui) |