--- title: Number slug: Web/JavaScript/Reference/Global_Objects/Число tags: - JavaScript - Number - Довідка - Клас translation_of: Web/JavaScript/Reference/Global_Objects/Number ---
{{JSRef}}

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

Конструктор Number містить константи та методи для роботи з числами. Значення інших типів можуть бути перетворені на числа за допомогою функції Number().

Тип Number у JavaScript є 64-бітним значенням подвійної точності формату IEEE 754, як double у Java чи у C#. Це означає, що воно може відображати дробові значення, але існують певні обмеження на те, що воно може зберігати. Тип Number зберігає лише близько 17 десяткових знаків точності; числа підлягають округленню. Найбільше значення, яке може зберігати Number, дорівнює приблизно 1.8×10308. Числа за межами цього значення замінюються на спеціальну числову константу {{jsxref("Infinity")}}.

Числові літерали, такі як 37, у коді JavaScript є числами з рухомою крапкою, а не цілими числами. Не існує окремого цілочисельного типу у звичайному повсякденному використанні. (JavaScript нині має тип {{jsxref("BigInt")}}, але він був створений не того, щоб замінити Number у повсякденному використанні. 37 досі належить до типу Number, а не до BigInt.)

Числа також можна виразити у таких літеральних формах, як 0b1010o130x0A. Дізнайтесь більше щодо лексичної граматики чисел тут.

Опис

При використанні в якості функції, Number(value) перетворює рядок чи інше значення на тип Number. Якщо значення не можна перетворити, повертається {{jsxref("NaN")}}.

Літеральний синтаксис

123    // сто двадцять три
123.0  // те саме
123 === 123.0  // true

Синтаксис функції

Number('123')  // вертає число 123
Number('123') === 123  // true

Number("коник")    // NaN
Number(undefined)  // NaN

Конструктор

Number()
Створює нове значення Number.

Статичні властивості

{{jsxref("Число.EPSILON", "Number.EPSILON")}}
Найменша можлива різниця між двома числами.
{{jsxref("Число.MAX_SAFE_INTEGER", "Number.MAX_SAFE_INTEGER")}}
Найбільше безпечне ціле число у JavaScript (253 - 1).
{{jsxref("Число.MAX_VALUE", "Number.MAX_VALUE")}}
Найбільше додатне число, доступне для відображення.
{{jsxref("Число.MIN_SAFE_INTEGER", "Number.MIN_SAFE_INTEGER")}}
Найменше безпечне ціле число у JavaScript (-(253 - 1)).
{{jsxref("Число.MIN_VALUE", "Number.MIN_VALUE")}}
Найменше додатне число, доступне для відображення, — найближче до нуля (за винятком самого нуля) додатне число.
{{jsxref("Число.NaN", "Number.NaN")}}
Спеціальне значення "{{glossary("NaN", "не число")}}".
{{jsxref("Число.NEGATIVE_INFINITY", "Number.NEGATIVE_INFINITY")}}
Спеціальне значення, що відображає від'ємну нескінченність. Повертається при переповненні.
{{jsxref("Число.POSITIVE_INFINITY", "Number.POSITIVE_INFINITY")}}
Спеціальне значення, що відображає нескінченність. Повертається при переповненні.
{{jsxref("Число.prototype", "Number.prototype")}}
Дозволяє додавати властивості до об'єкта Number.

Статичні методи

{{jsxref("Число.isNaN()", "Number.isNaN()")}}
Визначає, чи є передане значення NaN.
{{jsxref("Число.isFinite()", "Number.isFinite()")}}
Визначає, чи є передане значення скінченним числом.
{{jsxref("Число.isInteger()", "Number.isInteger()")}}
Визначає, чи є передане значення цілим числом.
{{jsxref("Число.isSafeInteger()", "Number.isSafeInteger()")}}
Визначає, чи є передане значення безпечним цілим числом (число між -(253 - 1) та 253 - 1).
{{jsxref("Число.parseFloat()", "Number.parseFloat()")}}
Те саме, що й глобальна функція {{jsxref("parseFloat", "parseFloat()")}}.
{{jsxref("Число.parseInt()", "Number.parseInt()")}}
Те саме, що й глобальна функція {{jsxref("parseInt", "parseInt()")}}.

Методи екземплярів

{{jsxref("Число.prototype.toExponential()", "Number.prototype.toExponential(дробовіЦифри)")}}
Повертає рядок, що містить експоненціальний запис числа.
{{jsxref("Число.prototype.toFixed()", "Number.prototype.toFixed(цифри)")}}
Повертає рядок, що містить запис числа у форматі з нерухомою крапкою.
{{jsxref("Число.prototype.toLocaleString()", "Number.prototype.toLocaleString([мови [, параметри]])")}}
Повертає рядок, що містить узалежнений від мови запис числа. Заміщує метод {{jsxref("Object.prototype.toLocaleString()")}}.
{{jsxref("Число.prototype.toPrecision()", "Number.prototype.toPrecision(точність)")}}
Повертає рядок, що містить запис числа із зазначеною точністю у форматі з нерухомою крапкою або у експоненціальному форматі.
{{jsxref("Число.prototype.toString()", "Number.prototype.toString([основа])")}}
Повертає рядкове представлення наданого об'єкта у вказаній системі числення. Заміщує метод {{jsxref("Object.prototype.toString()")}}.
{{jsxref("Число.prototype.valueOf()", "Number.prototype.valueOf()")}}
Повертає просте числове значення об'єкта. Заміщує метод {{jsxref("Object.prototype.valueOf()")}}.

Приклади

Використання об'єкта Number для присвоєння змінним числових значень

Наведений приклад використовує властивості об'єкта Number, щоб присвоїти кільком змінним числові значення:

const biggestNum     = Number.MAX_VALUE
const smallestNum    = Number.MIN_VALUE
const infiniteNum    = Number.POSITIVE_INFINITY
const negInfiniteNum = Number.NEGATIVE_INFINITY
const notANum        = Number.NaN

Діапазон цілих чисел для Number

У наступному прикладі наведено мінімальне та максимальне цілочисельне значення, які можуть бути відображені об'єктом Number (за детальною інформацією звертайтесь до стандарту ECMAScript, розділ 6.1.6 Тип Number):

const biggestInt = Number.MAX_SAFE_INTEGER   //  (253 - 1) =>  9007199254740991
const smallestInt = Number.MIN_SAFE_INTEGER  // -(253 - 1) => -9007199254740991

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

Цьому можна запобігти використанням ({{jsxref("String","рядків")}}).

Більші числа можуть бути відображені за допомогою типу {{jsxref("BigInt")}}.

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

У наведеному прикладі об'єкт класу {{jsxref ("Date")}} перетворюється на числове значення за допомогою функції Number:

let d = new Date('December 17, 1995 03:24:00')
console.log(Number(d))

Це виведе 819199440000.

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

Number('123')     // 123
Number('123') === 123 /// true
Number('12.3')    // 12.3
Number('12.00')   // 12
Number('123e-1')  // 12.3
Number('')        // 0
Number(null)      // 0
Number('0x11')    // 17
Number('0b11')    // 3
Number('0o11')    // 9
Number('foo')     // NaN
Number('100a')    // NaN
Number('-Infinity') //-Infinity

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

Специфікація
{{SpecName('ESDraft', '#sec-number-objects', 'Number')}}

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

{{Compat("javascript.builtins.Number.Number")}}

Див. також