Об'єкт Number в JavaScript — це об'єкт-обгортка, що дозволяє працювати з числовими значеннями. Об'єкт Number створюється за допомогою конструктора Number().

Синтаксис

new Number(value);

Параметри

value
Числове значення створюваного об'єкта.

Опис

Первинне використання для об'єкта Number:

  • Якщо аргумент не може бути перетворено на число, він повертає NaN;
  • Поза контекстом конструктора (тобто без оператора new) Number можна використовувати для перетворення типу.

Властивості

Number.EPSILON
Найменша можлива різниця між двома числами.
Number.MAX_SAFE_INTEGER
Найбільше безпечне ціле число в JavaScript (253 - 1).
Number.MAX_VALUE
Найбільше додатне число.
Number.MIN_SAFE_INTEGER
Найменше безпечне ціле число в JavaScript (-(253 - 1)).
Number.MIN_VALUE
Найменше додатне число — найближче до нуля (за винятком самого нуля) додатне число.
Number.NaN
Спеціальне значення "не число".
Number.NEGATIVE_INFINITY
Спеціальне значення, що передає від'ємну нескінченність; повертається при переповненні.
Number.POSITIVE_INFINITY
Спеціальне значення, що передає нескінченність; повертається при переповненні.
Number.prototype
Дозволяє додавати властивості до об'єкта 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. Об'єкт прототипу конструктора Number можна змінити, щоб впливати на всі примірники Number

Методи

Number.prototype.toExponential()
Повертає рядок, що містить експоненціальний запис числа.
Number.prototype.toFixed()
Повертає рядок, що містить запис числа у форматі з нерухомою комою.
Number.prototype.toLocaleString()
Повертає рядок, що містить узалежнений від мови запис числа. Перекриває метод Object.prototype.toLocaleString().
Number.prototype.toPrecision()
Повертає рядок, що містить запис числа із зазначеною точністю у форматі з нерухомою комою чи експоненціальний.
Number.prototype.toSource()
Повертає рядок, що містить код мовою JavaScript, який створює об'єкт класу 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 (див. розділ 8.5 «The Number Type» стандарту ECMAScript):

var biggestInt = 9007199254740991;
var smallestInt = -9007199254740991;

Внаслідок розбору даних, поданих у форматі JSON, цілі числа, що виходять за межі безпечного діапазону, можуть виявитися пошкодженими через те, що аналізатор JSON примусово їх перетворить на Number. Цьому можна запобігти використанням рядків (String) замість Number.

Використання Number для перетворення об'єкта Date

В наведеному прикладі об'єкт класу Date перетворюється на числове значення за допомогою функції Number:

var d = new Date('December 17, 1995 03:24:00');

// виводить 819199440000
console.log(Number(d));

Перетворення числових рядків на числа

Number('123')     // 123
Number('12.3')    // 12.3
Number('')        // 0
Number('0x11')    // 17
Number('0b11')    // 3
Number('0o11')    // 9
Number('foo')     // NaN
Number('100a')    // NaN

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

Специфікація Статус Коментар
ECMAScript 1st Edition (ECMA-262) Standard Первинне визначення. Реалізовано у JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)
The definition of 'Number' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Number' in that specification.
Standard

Додано нову властивість EPSILON та низку методів: isFinite, isInteger, isNaN, parseFloat, parseInt.

ECMAScript Latest Draft (ECMA-262)
The definition of 'Number' in that specification.
Living Standard  

Підтримка веб-переглядачами

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic Support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Див. також

Мітки документа й учасники

 Зробили внесок у цю сторінку: asmforce, justlp, yuri_spivak
 Востаннє оновлена: asmforce,