--- 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")}}