Дмитрий Нечаев
BigInt в JavaScript
В JavaScript числа представлены с помощью типа данных number
, который имеет ограничения на диапазон значений. Однако иногда требуется работать с числами большой величины, которые не помещаются в стандартный тип данных number
. Для этой цели в JavaScript существует объект BigInt
, который позволяет работать с большими целыми числами. Давайте рассмотрим подробности работы с большими целыми числами в JavaScript.
Создание большого целого числа
Для создания объекта BigInt
необходимо добавить n
к концу числового литерала или вызвать конструктор BigInt()
.
const bigIntNumber = 1234567890123456789012345678901234567890n;
console.log(bigIntNumber);
// Выведет: 1234567890123456789012345678901234567890n
Ограничения
В отличие от обычных чисел, которые могут храниться в 64-битных двоичных числах с плавающей точкой, BigInt
не имеет ограничений на диапазон значений. Однако, из-за особенностей реализации, BigInt
не может быть использован в операциях с обычными числами.
BigInt
— это относительно новый тип данных в JavaScript, предназначенный для представления целых чисел произвольной длины. Если вы хотите детальнее погрузиться в фундаментальные знания JavaScript, получить системное понимание языка и научиться применять его на практике — приходите на наш большой курс JavaScript с нуля. На курсе 198 уроков и 30 упражнений, AI-тренажеры для безлимитной практики с кодом и задачами 24/7, решение задач с живым ревью наставника, еженедельные встречи с менторами.
Арифметические операции
Для выполнения арифметических операций с 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
не поддерживает операции с обычными числами, поэтому необходимо использовать его осторожно, чтобы избежать ошибок.
Когда стандартных числовых типов недостаточно, на помощь приходит BigInt
. Однако, работа с ним имеет свои особенности, которые важно учитывать. На курсе JavaScript с нуля вы узнаете, как использовать BigInt
для работы с большими целыми числами в JavaScript, выполнять арифметические операции и избегать ошибок, связанных с переполнением чисел. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в JavaScript прямо сегодня.
Постройте личный план изучения Javascript до уровня Middle — бесплатно!
Javascript — часть карты развития Frontend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Бесплатные лекции
Все гайды по Javascript
Лучшие курсы по теме

Основы JavaScript
Антон Ларичев
TypeScript с нуля
Антон Ларичев