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