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:

  • Если аргумент не может быть преобразован в число, возвращается NaN.
  • В неконструкторном контексте (то есть, без оператора new), объект Number может использоваться для проведения преобразования типов.

Свойства

Number.EPSILON Это экспериментальное API, которое не должно использоваться в рабочем коде.
Наименьший интервал между двумя представимыми числами.
Number.MAX_SAFE_INTEGER Это экспериментальное API, которое не должно использоваться в рабочем коде.
Максимальное целое число, которое можно безопасно использовать в JavaScript (253 - 1).
Number.MAX_VALUE
Наибольшее представимое положительное число.
Number.MIN_SAFE_INTEGER Это экспериментальное API, которое не должно использоваться в рабочем коде.
Минимальное целое число, которое можно безопасно использовать в (-(253 - 1)).
Number.MIN_VALUE
Наименьшее представимое положительное число — то есть, самое близкое к нулю положительное число (которое ещё не является нулём).
Number.NaN
Специальное значение для представления «не числа».
Number.NEGATIVE_INFINITY
Специальное значение для представления отрицательной бесконечности; возвращается при переполнении.
Number.POSITIVE_INFINITY
Специальное значение для представления положительной бесконечности; возвращается при переполнении.
Number.prototype
Позволяет добавлять свойства к объекту Number.
Свойства, унаследованные из Function:

Методы

Number.isNaN() Это экспериментальное API, которое не должно использоваться в рабочем коде.
Определяет, является ли переданное значение значением NaN.
Number.isFinite() Это экспериментальное API, которое не должно использоваться в рабочем коде.
Определяет, является ли переданное значение конечным числом.
Number.isInteger() Это экспериментальное API, которое не должно использоваться в рабочем коде.
Определяет, является ли тип переданного значения «числом», а само число — целым значением.
Number.isSafeInteger() Это экспериментальное API, которое не должно использоваться в рабочем коде.
Определяет, является ли переданное значение безопасным целым числом (числом в диапазоне от -(253 - 1) до 253 - 1).
Number.toInteger() Этот API вышел из употребления и его работа больше не гарантируется.
Использовался для вычисления переданного значения и преобразования его в целое число (или бесконечность Infinity), но был удалён.
Number.parseFloat() Это экспериментальное API, которое не должно использоваться в рабочем коде.
Представляет собой тот же самый метод, что и метод parseFloat глобального объекта.
Number.parseInt() Это экспериментальное API, которое не должно использоваться в рабочем коде.
Представляет собой тот же самый метод, что и метод parseInt глобального объекта.
Методы, унаследованные из Function:

Экземпляры объекта Number

Все экземпляры объекта Number наследуются от Number.prototype. Объект прототипа конструктора Number может быть изменён, чтобы затронуть все экземпляры объекта Number.

Методы

Number.prototype.toExponential()
Возвращает строку, представляющую число в экспоненциальной записи.
Number.prototype.toFixed()
Возвращает строку, представляющую число в записи с фиксированной запятой.
Number.prototype.toLocaleString()
Возвращает строку с языкозависимым представлением числа. Переопределяет метод Object.prototype.toLocaleString().
Number.prototype.toPrecision()
Возвращает строку, представляющую число с указанной точностью в экспоненциальной записи, либо записи с фиксированной запятой.
Number.prototype.toSource() Это API не было стандартизировано.
Возвращает объектный литерал, представляющий объект Number; вы можете использовать это значение для создания нового объекта. Переопределяет метод Object.prototype.toSource().
Number.prototype.toString()
Возвращает строку, представляющую указанный объект по указанному основанию системы счисления. Переопределяет метод Object.prototype.toString().
Number.prototype.valueOf()
Возвращает примитивное значение указанного объекта. Переопределяет метод Object.prototype.valueOf().

Примеры

Пример: использование объекта 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. Возможным обходным путём может быть использование объекта String.

Пример: использование Number для преобразования объекта 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

Спецификации

Спецификация Статус Комментарии
ECMAScript 1st Edition (ECMA-262) Стандарт Изначальное определение. Реализована в JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
Определение 'Number' в этой спецификации.
Стандарт
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'Number' в этой спецификации.
Стандарт Добавлены новые методы и свойства: (EPSILON, isFinite, isInteger, isNaN, parseFloat и parseInt)
ECMAScript (ECMA-262)
Определение 'Number' в этой спецификации.
Живой стандарт

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • NaN
  • Глобальный объект Math