I Shar

I Shar

мир глазами веб-разработчика

JavaScript: BigInt

большие числа в JavaScript

I Shar

время чтения 2 мин.

Что получится, если в JavaScript к обычному целому числу добавить суффикс n.

let sum = 1n + 2n;
console.log(typeof sum);

На какой результат можно надеяться?

Задача довольно проста: в первой строке мы складываем два числа. Но это не обычные числа, а числа в формате BigInt.

В JavaScript BigInt является специальным встроенным объектом, созданным для представления целых чисел, значение которых превышает 2 в 53 степени минус 1 (этому числу соответствует константа Number.MAX_SAFE_INTEGER).

Создать число в формате BigInt можно двумя способами:

Добавив суффикс n к любому целому числу:

let big =  1000000000n // 1000000000n

Вызвав конструктор BigInt() и передав ему аргумент:

let bigN = BigInt(123) // 123n

В последнем случае аргумент может быть передан не только в виде целого числа в десятичном формате. Функция BigInt() отлично справляется с числами в двоичном и шестнадцатеричном форматах:

let bigHex = BigInt("0xffffffffffffffff") // 18446744073709551615n
let bigBin = BigInt("0b111") // 7n

Кроме того, аргумент может быть передан и в виде строки:

let bigS = BigInt("234") // 234n

В данной задаче числа в формате BigInt будут вести себя так же как и обычные числа. Так, сложение 1n и 2n приведет к результату 3n. Оператор typeof вернет для 3n название типа данных bigint в виде строки.

Таким образом, суффикс n приводит число к формату BigInt. А в консоли мы увидим строку с названием типа данных выполненного сложения: bigint.


Спасибо за внимание.

    • frontend
    • js

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.