BigInt

Primitif BigInt adalah penambahan yang relatif baru untuk JavaScript, yang memungkinkan operasi matematika pada angka di luar rentang diizinkan oleh Number. Untuk membuat BigInt, tambahkan n ke akhir angka literal, atau meneruskan nilai string bilangan bulat atau numerik ke fungsi BigInt().

const myNumber = 9999999999999999;
const myBigInt = 9999999999999999n;

typeof myNumber;
> "number"

typeof myBigInt;
> "bigint"

myNumber;
> 10000000000000000

myBigInt;
> 9999999999999999n

Dalam contoh ini, 9999999999999999 berada di luar rentang digit yang dapat diwakili dengan aman oleh Number, sehingga menyebabkan error pembulatan.

Nilai BigInt tidak mewarisi metode dan properti dari objek Number dan tidak dapat digunakan dengan metode bawaan JavaScript, yaitu Math yang disediakan objek. Yang terpenting, Anda tidak dapat menggabungkan primitif BigInt dan Number operasi aritmatika standar:

9999999999999999n + 5
> Uncaught TypeError: can't convert BigInt to number

Untuk melakukan aritmatika dengan BigInts, Anda harus menentukan kedua operand sebagai nilai BigInt:

console.log( 9999999999999999 + 10 );  // Off by one
> 10000000000000010

console.log( 9999999999999999n + 10n );
> 10000000000000009n