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.EPSILON- Наименьший интервал между двумя представимыми числами.
Number.MAX_SAFE_INTEGER- Максимальное целое число, которое можно безопасно использовать в JavaScript (
253 - 1). Number.MAX_VALUE- Наибольшее представимое положительное число.
Number.MIN_SAFE_INTEGER- Минимальное целое число, которое можно безопасно использовать в (
-(253 - 1)). Number.MIN_VALUE- Наименьшее представимое положительное число — то есть, самое близкое к нулю положительное число (которое ещё не является нулём).
Number.NaN- Специальное значение для представления «не числа».
Number.NEGATIVE_INFINITY- Специальное значение для представления отрицательной бесконечности; возвращается при переполнении.
Number.POSITIVE_INFINITY- Специальное значение для представления положительной бесконечности; возвращается при переполнении.
Number.prototype(en-US)- Позволяет добавлять свойства к объекту
Number.
Методы
Number.isNaN()- Определяет, является ли переданное значение значением
NaN. Number.isFinite()- Определяет, является ли переданное значение конечным числом.
Number.isInteger()- Определяет, является ли тип переданного значения «числом», а само число — целым значением.
Number.isSafeInteger()- Определяет, является ли переданное значение безопасным целым числом (числом в диапазоне от
-(253 - 1)до253 - 1). Number.toInteger()Использовался для вычисления переданного значения и преобразования его в целое число (или бесконечностьInfinity), но был удалён.Number.parseFloat()- Представляет собой тот же самый метод, что и метод
parseFloatглобального объекта. Number.parseInt()- Представляет собой тот же самый метод, что и метод
parseIntглобального объекта.
Экземпляры объекта Number
Все экземпляры объекта Number наследуются от Number.prototype (en-US). Объект прототипа конструктора 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. Возможным обходным путём может быть использование объекта 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