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` 
Экспериментальная возможность

Наименьший интервал между двумя представимыми числами.

`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`.

### Методы

{{page('/ru/docs/Web/JavaScript/Reference/Global\_Objects/Number/prototype', 'Methods')}}Примеры
-------

### Пример: использование объекта `Number` для присваивания значений числовым переменным

В следующем примере для присваивания значений числовым переменным используются свойства объекта `Number`:


```js
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*):


```js
var biggestInt = 9007199254740992;
var smallestInt = -9007199254740992;
```


При разборе данных, сериализованных в JSON, можно ожидать, что целые значения, выпадающие из этого диапазона будут повреждены, когда парсер JSON приведёт их к типу `Number`. Возможным обходным путём может быть использование объекта `String`.

### Пример: использование `Number` для преобразования объекта `Date`

В следующем примере объект `Date` преобразуется в числовое значение с использование объекта `Number` в качестве функции:


```js
var d = new Date("December 17, 1995 03:24:00");
console.log(Number(d));
```


Пример выведет "819199440000".

### Пример: преобразование строк с числами в числа


```js
Number("123"); // 123
Number(""); // 0
Number("0x11"); // 17
Number("0b11"); // 3
Number("0o11"); // 9
Number("foo"); // NaN
Number("100a"); // NaN
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-number-objects |

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

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

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