22. نوع BigInt
يستخدم نوع Number القياسي في JavaScript تنسيق النقطة العائمة 64 بت. هذا يعني أنه يمكنه تمثيل الأعداد الصحيحة بأمان حتى 2^53 - 1 فقط (أو Number.MAX_SAFE_INTEGER). بالنسبة للأرقام الأكبر من ذلك (الشائعة في التشفير أو الطوابع الزمنية أو قواعد البيانات الكبيرة)، يتم فقدان الدقة.
يسمح لنا BigInt، الذي تم تقديمه مؤخرًا، بالعمل مع الأعداد الصحيحة الكبيرة بشكل عشوائي.
إنشاء BigInt
يمكنك إنشاء BigInt بإلحاق الحرف n بنهاية ثابت العدد الصحيح (integer literal).
javascript const massiveNumber = 9007199254740991n; // Safe maximum in Number is 9007199254740991 const biggerThanSafe = massiveNumber + 1n;
console.log(biggerThanSafe); // Output: 9007199254740992n
// console.log(Number.MAX_SAFE_INTEGER + 1); // This calculation would lose precision (ستفقد هذه العملية الحسابية الدقة)
قيود BigInt
لا يمكن خلط BigInts مع أرقام Number القياسية في العمليات الرياضية. يجب عليك تحويلها بشكل صريح إذا لزم الأمر.
javascript // console.log(10n + 5); // ERROR console.log(10n + BigInt(5)); // OK: 15n