Тип данных BigInt в JavaScript
BigInt
bigint - числовой примитивный тип данных в JavaScript, позволяющий работать с целыми числами произвольной точности (числа в которых длина ограничена только объёмом доступной памяти).
Проблема в том что тип данных Number может хранить числа только в определенном диапазоне.
const biggestNumber = Number.MAX_SAFE_INTEGER;
console.log(biggestNumber);
console.log(biggestNumber + 1);
console.log(biggestNumber + 2);
console.log(biggestNumber + 3);
Открыть на CodePen
Создать BigInt можно следующим образом:
const bigIntExample_1 = 100n;Открыть на CodePen
const bigIntExample_2 = BigInt(100);
console.log(bigIntExample_1, bigIntExample_2);
Просто добавляем суффикс 'n' в конце литерала числа или используем функцию BigInt().
Теперь попробуем повторить первый пример только уже с использованием BigInt
const bigIntNumber = BigInt(Number.MAX_SAFE_INTEGER);Открыть на CodePen
console.log(bigIntNumber + 1n);
console.log(bigIntNumber + 2n);
console.log(bigIntNumber + 3n);
console.log(bigIntNumber + 4n);
Аналогично как и с типом данных Number мы можем разделять большие числа через '_'.
const bigIntExample_3 = 1_000_000_000_000_000n;
console.log(bigIntExample_3);
Если мы будем сравнивать BigInt c Number через '===' то при одинаковых значениях получим false, так как это разные типы данных.
const bigIntExample_4 = 10n;
const numberExample_1 = 10;
console.log(bigIntExample_4 === numberExample_1); // false
console.log(bigIntExample_4 == numberExample_1); // true
Открыть на CodePen
В таком случае мы можем использовать оператор '==', тогда сравнение пройдет успешно. Так как '==' сравнивает только значения без приведения типов.
P.S. Больше информации в видеоуроке
P.P.S. Больше уроков у меня на канале.
Web-технологии
463 поста5.8K подписчик
Правила сообщества
1. Не оскорблять других пользователей
2. Не пытаться продвигать свои услуги под видом тематических постов
3. Не заниматься рекламой
4. Никакой табличной верстки
5. Тег сообщества(не обязателен) pikaweb