--- title: Number slug: Web/JavaScript/Reference/Global_Objects/Number tags: - JavaScript - Number - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Number ---
Объект Number является объектом-обёрткой, позволяющей вам работать с числовыми значениями. Объект Number создаётся через конструктор Number().
new Number(value);
var a = new Number('123'); // a === 123 is false
var b = Number('123'); // b === 123 is true
a instanceof Number; // is true
b instanceof Number; // is false
valueНесколько замечаний относительно использования объекта Number:
Number может использоваться для проведения преобразования типов.253 - 1).-(253 - 1)).Number.-(253 - 1) до 253 - 1).NumberВсе экземпляры объекта Number наследуются от {{jsxref("Number.prototype")}}. Объект прототипа конструктора Number может быть изменён, чтобы затронуть все экземпляры объекта Number.
Number для присваивания значений числовым переменнымВ следующем примере для присваивания значений числовым переменным используются свойства объекта Number:
var biggestNum = Number.MAX_VALUE; var smallestNum = Number.MIN_VALUE; var infiniteNum = Number.POSITIVE_INFINITY; var negInfiniteNum = Number.NEGATIVE_INFINITY; var notANum = Number.NaN;
NumberСледующий пример показывает, какие минимальное и максимальное целочисленные значения может представить объект Number (за подробностями обращайтесь к стандарту EcmaScript, главе 8.5 Тип Number):
var biggestInt = 9007199254740992; var smallestInt = -9007199254740992;
При разборе данных, сериализованных в JSON, можно ожидать, что целые значения, выпадающие из этого диапазона будут повреждены, когда парсер JSON приведёт их к типу Number. Возможным обходным путём может быть использование объекта {{jsxref("Global_Objects/String", "String")}}.
Number для преобразования объекта DateВ следующем примере объект {{jsxref("Global_Objects/Date", "Date")}} преобразуется в числовое значение с использование объекта Number в качестве функции:
var d = new Date('December 17, 1995 03:24:00');
console.log(Number(d));
Пример выведет "819199440000".
Number('123') // 123
Number('') // 0
Number('0x11') // 17
Number('0b11') // 3
Number('0o11') // 9
Number('foo') // NaN
Number('100a') // NaN
| Спецификация | Статус | Комментарии |
|---|---|---|
| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Изначальное определение. Реализована в JavaScript 1.1. |
| {{SpecName('ES5.1', '#sec-15.7', 'Number')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-number-objects', 'Number')}} | {{Spec2('ES6')}} | Добавлены новые методы и свойства: ({{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')}} |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("javascript.builtins.Number")}}