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