BigInt

Primitif BigInt adalah penambahan yang relatif baru untuk JavaScript, yang memungkinkan operasi matematika pada angka di luar rentang yang diizinkan oleh Number. Untuk membuat BigInt, tambahkan n ke akhir literal angka, atau teruskan nilai string numerik atau bilangan bulat 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 secara aman direpresentasikan oleh Number, sehingga menyebabkan error pembulatan.

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

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

Untuk melakukan aritmetika dengan BigInts, Anda harus mendefinisikan kedua operand sebagai nilai BigInt:

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

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