Rumah >hujung hadapan web >tutorial js >Memahami BigInt dalam JavaScript
Dalam JavaScript, nombor secara tradisinya diwakili menggunakan jenis Nombor, yang mematuhi piawaian IEEE 754 untuk aritmetik titik terapung berketepatan dua. Perwakilan ini, walaupun serba boleh, mempunyai had: ia boleh mewakili integer dengan selamat hanya sehingga (2^{53} - 1) (atau (9,007,199,254,740,991)). Untuk aplikasi yang memerlukan integer yang lebih besar, JavaScript memperkenalkan penyelesaian melalui jenis BigInt.
BigInt ialah objek terbina dalam JavaScript yang menyediakan cara untuk mewakili nombor bulat yang lebih besar daripada yang boleh dikendalikan oleh jenis Nombor. Tidak seperti Nombor, yang sesuai untuk aritmetik titik terapung dan boleh mengendalikan nilai antara lebih kurang (-1.8 kali 10^{308}) dan (1.8 kali 10^{308}), BigInt direka khusus untuk aritmetik integer ketepatan arbitrari.
Terdapat beberapa cara untuk mencipta nilai BigInt:
const bigIntValue = BigInt(123456789012345678901234567890);
Perhatikan bahawa BigInt menerima rentetan dan nombor, tetapi apabila menggunakan nombor, ia harus berada dalam julat jenis Nombor.
const bigIntLiteral = 123456789012345678901234567890n;
Ini ialah cara yang lebih ringkas untuk menentukan nilai BigInt secara langsung.
BigInt menyokong kebanyakan pengendali aritmetik standard. Berikut ialah gambaran ringkas:
const a = 10n; const b = 20n; const sum = a + b; // 30n
const difference = b - a; // 10n
const product = a * b; // 200n
const quotient = b / 3n; // 6n (Note: Division results in a `BigInt` which is truncated towards zero)
const remainder = b % 3n; // 2n
const power = a ** 3n; // 1000n
BigInt boleh dibandingkan menggunakan operator perbandingan standard. Ambil perhatian bahawa nilai BigInt dan nilai Nombor tidak boleh dibandingkan secara langsung:
const a = 10n; const b = 10; console.log(a == b); // false console.log(a === BigInt(b)); // true
Penukaran antara BigInt dan Number boleh dilakukan menggunakan kaedah penukaran eksplisit:
const bigIntValue = 123n; const numberValue = Number(bigIntValue);
Nota: Ini boleh kehilangan ketepatan jika nilai BigInt terlalu besar.
const numberValue = 123; const bigIntValue = BigInt(numberValue);
const a = 10n; const b = 5; // The following line will throw a TypeError const result = a + b;
const bigIntValue = 123n; JSON.stringify(bigIntValue); // Throws TypeError
Untuk mengendalikan BigInt dalam JSON, anda mungkin perlu menukarnya kepada rentetan terlebih dahulu:
const bigIntValue = 123n; const jsonString = JSON.stringify({ value: bigIntValue.toString() });
BigInt amat berguna dalam senario di mana ketepatan dengan integer besar adalah penting, seperti:
BigInt ialah tambahan hebat kepada JavaScript, mengembangkan keupayaannya untuk mengendalikan integer melebihi had jenis Nombor. Memahami operasi, had dan kes penggunaan yang sesuai boleh membantu dalam memanfaatkan faedahnya untuk aplikasi yang memerlukan pengiraan integer yang besar.
Atas ialah kandungan terperinci Memahami BigInt dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!