Skip to content

Latest commit

 

History

History
64 lines (44 loc) · 2.65 KB

File metadata and controls

64 lines (44 loc) · 2.65 KB

Тип данных Number и BigInt

Тип данных Number

Number - это 64-битное число с плавающей точкой, который может хранить довольно большие числа (как со знаком, так и без), десятичные дроби и многое другое.

Тип данных Number также может использоваться для представления десятичных, экспоненциальных, восьмеричных, шестнадцатеричных и двоичных чисел.

let intNr = 1;
let decNr = 1.5;
let expNr = 1.4e15;
let octNr = 0o10; //в десятичной системе будет 8
let hexNr = 0x3E8; //в десятичной системе будет 1000
let binNr = 0b101; //в десятичной системе будет 5

Все вышеперечисленные числа относятся к типу данных Number.

Итак, целые числа — это числа, подобные этим:

let intNr2 = 3434;
let intNr3 = -111;

Числа с плавающей точкой тоже относятся к типу Number:

let decNr2 = 45.78;

И двоичные числа:

let binNr2 = 0b100; // десятичная версия будет 4

Тип данных BigInt

Диапазон значений типа данных Number находится между 253–1 и –(253–1). BigInt вступает в дело, когда вам требуются числа больше (или меньше) этого интервала. Тип данных BigInt можно узнать по окончанию n:

let bigNr = 90071992547409920n;

Рассмотрим, что происходит, когда мы начинаем вычисления между ранее заданным целым числом типа Number, intNr, и значением типа BigInt, bigNr:

let result = bigNr + intNr;
// Uncaught TypeError: Cannot mix BigInt and other types, use explicit conversions

Для выполнения операций нельзя смешивать тип данных BigInt с типом данных Number, можно использовать BigInt только с другими BigInt.

⚠️ Примечание:

Метод BigInt() можно вызвать только без ключевого слова new. Попытка создать его с ключевым словом new приведёт к ошибке TypeError.