--- title: Number slug: Web/JavaScript/Reference/Global_Objects/Number tags: - JavaScript - Number - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Number original_slug: Web/JavaScript/Reference/Objets_globaux/Number ---
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().
Le type JavaScript Number utilise une représentation binaire à précision double sur 64 bits telle que décrite par le standard IEEE 754. Les implémentations plus récentes offrent un nouveau type : {{jsxref("BigInt")}} qui permet de représenter des entiers avec une précision arbitraire.
new Number(valeur);
var a = new Number('123'); // a === 123 donnera false
var b = Number('123'); // b === 123 donnera true
a instanceof Number; // donnera true
b instanceof Number; // donnera false
valeurL'objet Number est principalement utilisé dans les cas de figure suivants :
Number peut être utilisé afin d'effectuer des conversions.253 - 1).-(253 - 1)).Number.NaN.-(253 - 1) et 253 - 1).NumberToutes les instances de Number héritent de {{jsxref("Number.prototype")}}. Il est possible de modifier le prototype du constructeur Number pour affecter toutes les instances de Number.
Number pour affecter des valeurs numériques à des variablesDans 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;
NumberDans l'exemple suivant, on illustre les valeurs numériques maximales et minimales (exclues) qu'on peut représenter avec un nombre en JavaScript (pour plus de détails, voir le chapitre 6.1.6 du standard ECMAScript) :
var biggestInt = 9007199254740992; //Number.MAX_SAFE_INTEGER+1 (253-1) var smallestInt = -9007199254740992; //Number.MIN_SAFE_INTEGER-1 -(253-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 {{jsxref("String")}} dans certains cas pour représenter certaines valeurs.
Number pour convertir un objet DateDans l'exemple suivant, on convertit un objet {{jsxref("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".
Number("123"); // 123
Number("12.3"); // 12.3
Number("12.00"); // 12
Number("123e-1"); // 12.3
Number(""); // 0
Number("0x11"); // 17
Number("0b11"); // 3
Number("0o11"); // 9
Number("toto"); // NaN
Number("100a"); // NaN
Number("-Infinity";) // -Infinity
Note : On pourra également convertir null en 0 grâce à Number : Number(null) donnera 0.
| Spécification | État | Commentaires |
|---|---|---|
| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Définition initiale. Implémentée avec JavaScript 1.1. |
| {{SpecName('ES5.1', '#sec-15.7', 'Number')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-number-objects', 'Number')}} | {{Spec2('ES6')}} | Ajout des méthodes et propriétés suivantes : ({{jsxref("Number.EPSILON", "EPSILON")}}, {{jsxref("Number.isFinite", "isFinite")}}, {{jsxref("Number.isInteger", "isInteger")}}, {{jsxref("Number.isNaN", "isNaN")}}, {{jsxref("Number.parseFloat", "parseFloat")}}, {{jsxref("Number.parseInt", "parseInt")}}) |
| {{SpecName('ESDraft', '#sec-number-objects', 'Number')}} | {{Spec2('ESDraft')}} |
Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une pull request sur https://github.com/mdn/browser-compat-data.
{{Compat("javascript.builtins.Number")}}
Number (en anglais)