--- title: Number slug: Web/JavaScript/Reference/Global_Objects/Число tags: - JavaScript - Number - Довідка - Клас translation_of: Web/JavaScript/Reference/Global_Objects/Number ---
Об'єкт 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")}}