JavaScript BigInt: Handling Large Integers
1
min read .
Updated on
JavaScript Number
memiliki batas aman (2^53 - 1
) untuk integer. Kalau kamu butuh angka lebih besar atau presisi tinggi, BigInt
solusinya.
1. Membuat BigInt
const bigNumber1 = 123456789012345678901234567890n; // literal
const bigNumber2 = BigInt("123456789012345678901234567890"); // constructor
2. Operasi Dasar
BigInt
mendukung operasi aritmatika:
const a = 12345678901234567890n;
const b = 98765432109876543210n;
console.log(a + b); // 111111111011111111100n
console.log(b / a); // 5n (dibulatkan ke nol)
3. Perbandingan
console.log(1000n < 2000n); // true
console.log(1000n === 1000n); // true
4. Konversi dengan Number
const num = 42;
const bigIntFromNum = BigInt(num); // 42n
const bigIntVal = 12345678901234567890n;
const numberVal = Number(bigIntVal); // Hati-hati, bisa kehilangan presisi
5. Hal yang Perlu Diperhatikan
- Tidak bisa dicampur langsung dengan Number: konversi harus eksplisit.
- Operasi lebih lambat dibanding
Number
. - JSON: gunakan
toString()
sebelum serialisasi.
JSON.stringify({ value: 9007199254740991n.toString() });
// '{"value":"9007199254740991"}'
6. Kapan Gunakan BigInt?
- Kriptografi
- Komputasi ilmiah dengan angka besar
- Aplikasi finansial untuk angka presisi tinggi
7. Dukungan Browser
Didukung di Chrome 67+, Firefox 68+, Safari 14+, Edge 79+. Tidak ada di Internet Explorer.
Kesimpulan
BigInt
memungkinkan manipulasi integer besar tanpa kehilangan presisi. Penting untuk kripto, sains, dan aplikasi finansial yang butuh angka super besar.