hellojs.ru
Главная - Дополнительные основы JavaScript - BigInt

BigInt

Размещено в категории "Дополнительные основы JavaScript"
28.10.2024 / просмотров: 40 / комментариев: 0
Ресурсы:

Документация




При работе с данными может возникнуть ситуация, при которой можно достигнуть максимально возможного числа, с которым JavaScript умеет правильно работать.

Это значение записано в свойстве

Код

console.log(Number.MAX_SAFE_INTEGER);

Цитата

9007199254740991

Это число 253 – 1.

Если же необходимо использовать число больше, то нужно использовать тип данных BigInt

Как создаются BigInt?

Код

const bigint = 12332763732727262782272828n;

То есть в конце ставится просто n.

Либо с помощью команды напрямую:

Код

const someBigint = BigInt(12332763732727262782272828);

Особенности использования

BigInt нельзя использовать с методами со встроенным объектом Math, то есть Math.round(), Math.random() и так далее.

Нельзя смешивать в операциях BigInt и обычные числа

Код

console.log(5n + 1); // error

console.log(Math.round(5n)); // error

Но:

Код

console.log(1n + 2n); // 3n

Операторы и BigInt

C BigInt можно нормально использовать сложение, умножение, вычитание, возведение в степень и деление с остатком.

В случае с операцией деления операция всегда будет возвращать округлённый результат без дробной части:

Код

console.log(5n / 2n); // 2n

Операторы сравнения будут нормально работать с BigInt даже если их смешивать с обычными числами

Код

console.log(2n > 1); // true
console.log(2n > 5); // false
console.log(2n == 2); // true
console.log(2n === 2); // false

Сложение BigInt и обычных чисел

Код

let bigint = 1n,
  number = 2;

Напрямую их сложить нельзя, зато можно вот так:

Код

console.log(bigint + BigInt(number)); // 3n

Если же при сложении нужно получить обычное число:

Код

console.log(Number(bigint) + number); // 3  

Унарный плюс для приведения к формату числа с BigInt не работает.

Если при конвертации в обычное число BigInt превышает максимальное число, допустимое в JavaScript, то число будет обрезано до допустимой границы.
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
Сайт управляется системой uCoz