L'objet Number
est une enveloppe objet (wrapper) autour du type primitif numérique. Autrement dit, il est utilisé pour manipuler les nombres comme des objets. Pour créer un objet Number
, on utilise le constructeur Number()
.
Syntaxe
new Number(valeur);
Paramètres
valeur
- La valeur numérique pour l'objet qu'on souhaite créer.
Description
L'objet Number
est principalement utilisé dans les cas de figures suivants :
- Si l'argument ne peut pas être converti en un nombre, il renverra
NaN
. - Dans un contexte de fonction simple (quand il n'est pas utilisé comme un constructeur avec l'opérateur
new
),Number
peut être utilisé afin d'effectuer des conversions.
Propriétés
Number.EPSILON
- Le plus petit intervalle entre deux valeurs qu'il est possible de représenter en JavaScript.
Number.MAX_SAFE_INTEGER
- La valeur entière maximale qu'on peut représenter en JavaScript (
253 - 1
). Number.MAX_VALUE
- La valeur numérique maximale qu'on peut représenter en JavaScript.
Number.MIN_SAFE_INTEGER
- La valeur entière minimale qu'on peut représenter en JavaScript (
-(253 - 1)
). Number.MIN_VALUE
- La plus petite valeur qu'on peut représenter en JavaScript, c'est-à-dire le plus petit nombre positif (le nombre le plus près de zéro qui n'est pas égal à zéro et qu'on peut représenter en JavaScript).
Number.NaN
- Une valeur spéciale pour représenter les valeurs non-numériques (NaN correspond à « not a number » en anglais, qui signifie « n'est pas un nombre »).
Number.NEGATIVE_INFINITY
- Une valeur spéciale pour représenter l'infini négatif.
Number.POSITIVE_INFINITY
- Une valeur spéciale pour représenter l'infini (positif).
Number.prototype
- Cet objet permet d'ajouter des propriétés aux instances de
Number
.
Méthods
Number.isNaN()
- Cette méthode permet de déterminer si la valeur passée en argument vaut
NaN
. Number.isFinite()
- Cette méthode permet de déterminer si la valeur numérique passée en argument est un nombre fini.
Number.isInteger()
- Cette méthode permet de déterminer si la valeur passée en argument est un entier.
Number.isSafeInteger()
- Cette méthode permet de déterminer si la valeur passée en argument peut correctement être représentée comme un entier en JavaScript (savoir si elle est comprise entre
-(253 - 1)
et253 - 1
). Number.toInteger()
Cette méthode est utilisée afin d'évaluer et de convertir la valeur passée en argument en entier (ou en l'infini). Cette méthode a été supprimée.Number.parseFloat()
- Cette méthode correspond à la méthode
parseFloat
de l'objet global. Number.parseInt()
- Cette méthode correspond à la méthode
parseInt
de l'objet global.
Les instances de Number
Toutes les instances de Number
héritent de Number.prototype
. Il est possible de modifier le prototype du constructeur Number
pour affecter toutes les instances de Number
.
Méthodes
Exemples
Utiliser l'objet Number
pour affecter des valeurs numériques à des variables
Dans l'exemple suivant, on utilise les propriétés de l'objet Number
pour affecter des valeurs à des variables numériques :
var plusGrandNombre = Number.MAX_VALUE; var plusPetitNombre = Number.MIN_VALUE; var infini = Number.POSITIVE_INFINITY; var infiniNégatif = Number.NEGATIVE_INFINITY; var nonNumérique = Number.NaN;
Intervalle entier pour Number
Dans l'exemple suivant, on illustre les valeurs numériques maximales et minimales qu'on peut représenter avec un nombre en JavaScript (pour plus de détails, voir le chapitre 8.5. du standard ECMAScript) :
var biggestInt = 9007199254740992; //Number.MAX_SAFE_INTEGER+1 var smallestInt = -9007199254740992; //Number.MIN_SAFE_INTEGER-1
Lorsqu'on analyse et convertit des données JSON, les valeurs en dehors de cet intervalle peuvent entraîner des erreurs ou des corruptions de valeurs lors de leurs conversions. Selon les objets qu'on souhaite représenter, on peut utiliser String
dans certains cas pour représenter certaines valeurs.
Utiliser Number
pour convertir un objet Date
Dans l'exemple suivant, on convertit un objet Date
en une valeur numérique grâce à la fonction Number
:
var d = new Date('December 17, 1995 03:24:00'); console.log(Number(d));
Ceci affichera "819167040000".
Convertir une chaîne représentant une valeur numérique en un nombre
Number("123") // 123 Number("12.3") // 12.3 Number("") // 0 Number("0x11") // 17 Number("0b11") // 3 Number("0o11") // 9 Number("toto") // NaN Number("100a") // NaN
Spécifications
Spécification | État | Commentaires |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Définition initiale. Implémentée avec JavaScript 1.1. |
ECMAScript 5.1 (ECMA-262) La définition de 'Number' dans cette spécification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Number' dans cette spécification. |
Standard | Ajout des méthodes et propriétés suivantes : (EPSILON , isFinite , isInteger , isNaN , parseFloat , parseInt ) |
ECMAScript 2017 Draft (ECMA-262) La définition de 'Number' 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) |
Voir aussi
NaN
- L'objet global
Math
- Les types de données en JavaScript