--- title: Number slug: Web/JavaScript/Reference/Global_Objects/Number tags: - JavaScript - Number - Довідка - Клас translation_of: Web/JavaScript/Reference/Global_Objects/Number original_slug: Web/JavaScript/Reference/Global_Objects/Число ---
Об'єкт 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.)
Числа також можна виразити у таких літеральних формах, як 0b101, 0o13, 0x0A. Дізнайтесь більше щодо лексичної граматики чисел тут.
При використанні в якості функції, 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.253 - 1).-(253 - 1)).Number.NaN.-(253 - 1) та 253 - 1).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.
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')}} |
Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію https://github.com/mdn/browser-compat-data.
{{Compat("javascript.builtins.Number.Number")}}