логотип PurpleSchool
логотип PurpleSchool

BigInt в JavaScript

Автор

Дмитрий Нечаев

В JavaScript числа представлены с помощью типа данных number, который имеет ограничения на диапазон значений. Однако иногда требуется работать с числами большой величины, которые не помещаются в стандартный тип данных number. Для этой цели в JavaScript существует объект BigInt, который позволяет работать с большими целыми числами. Давайте рассмотрим подробности работы с большими целыми числами в JavaScript.

Создание большого целого числа

Для создания объекта BigInt необходимо добавить n к концу числового литерала или вызвать конструктор BigInt().

const bigIntNumber = 1234567890123456789012345678901234567890n;
console.log(bigIntNumber); 
// Выведет: 1234567890123456789012345678901234567890n

Ограничения

В отличие от обычных чисел, которые могут храниться в 64-битных двоичных числах с плавающей точкой, BigInt не имеет ограничений на диапазон значений. Однако, из-за особенностей реализации, BigInt не может быть использован в операциях с обычными числами.

Арифметические операции

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

const bigInt1 = 123456789012345678901234567890n;
const bigInt2 = 987654321098765432109876543210n;

const sum = bigInt1 + bigInt2;
console.log(sum); 
// Выведет: 1111111110111111111011111111111n

Преобразование

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

const bigInt = 123456789012345678901234567890n;
const regularNumber = +bigInt;
console.log(regularNumber); 
// Выведет: 1.2345678901234568e+29

Сравнение

Сравнение BigInt происходит так же, как и сравнение обычных чисел.

const bigInt1 = 100n;
const bigInt2 = 200n;

console.log(bigInt1 < bigInt2); 
// Выведет: true

Заключение

BigInt в JavaScript предоставляет возможность работать с большими целыми числами, которые не помещаются в стандартный тип данных number. Это особенно полезно при работе с математическими операциями, которые требуют высокой точности или обработки больших чисел. Однако следует учитывать, что BigInt не поддерживает операции с обычными числами, поэтому необходимо использовать его осторожно, чтобы избежать ошибок.

Стрелочка влевоBoolean в JavaScript

Все гайды по Javascript

Как работает метод trim() - JavaScriptКак работает метод toUpperCase() - JavaScriptКак работает метод toLowerCase() - JavaScriptКак работает метод substring() - JavaScriptКак работает метод startsWith() - JavaScriptКак работает метод split() - JavaScriptКак работает метод slice() - JavaScriptКак работает метод search() - JavaScriptКак работает метод replaceAll() - JavaScriptКак работает метод replace() - JavaScriptКак работает метод repeat() - JavaScriptКак работает метод padStart() - JavaScriptКак работает метод padEnd() - JavaScriptКак работает метод matchAll() - JavaScriptКак работает метод match() - JavaScriptКак работает метод localeCompare() - JavaScriptКак работает свойство length - JavaScriptКак работает метод lastIndexOf() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод fromCodePoint() - JavaScriptКак работает метод fromCharCode() - JavaScriptКак работает метод endsWith() - JavaScriptКак работает метод concat() - JavaScriptКак работает метод codePointAt() - JavaScriptКак работает метод charCodeAt() - JavaScriptКак работает метод charAt() - JavaScript
Итератор в JavaScript
try...catch в JavaScriptError в JavaScript
Событие wheel в JavaScriptСобытие unload в JavaScriptСобытие touch в JavaScriptСобытие submit в JavaScriptСобытие scroll в JavaScriptСобытие reset в JavaScriptМетод .preventDefault() в JavaScriptСобытие mouseover в JavaScriptСобытие mouseout в JavaScriptСобытие load в JavaScriptСобытие keyup в JavaScriptСобытие keydown в JavaScriptСобытие invalid в JavaScriptСобытие input в JavaScriptСобытийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScript
Как работает метод some() - JavaScriptКак работает метод reverse() - JavaScriptКак работает метод reduce() - JavaScriptКак работает метод map() - JavaScriptКак работает метод isArray() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод from() - JavaScriptКак работает метод forEach() - JavaScriptКак работает метод flatMap() - JavaScriptКак работает метод flat() - JavaScriptКак работает метод findIndex() - JavaScriptКак работает метод find() - JavaScriptКак работает метод filter() - JavaScriptКак работает метод every() - JavaScriptМассивы в JavaScript
Открыть базу знаний