BigInt

تُعد إشارات BigInt إضافة جديدة نسبيًا إلى السماح بالعمليات الحسابية على الأرقام خارج النطاق، وذلك باستخدام JavaScript تم السماح به من خلال Number. لإنشاء BigInt، ألحق n في نهاية رقم قيمة حرفية، أو يمكنك تمرير عدد صحيح أو قيمة سلسلة رقمية إلى الدالة BigInt().

const myNumber = 9999999999999999;
const myBigInt = 9999999999999999n;

typeof myNumber;
> "number"

typeof myBigInt;
> "bigint"

myNumber;
> 10000000000000000

myBigInt;
> 9999999999999999n

في هذا المثال، تقع 9999999999999999 خارج نطاق الأرقام التي يمكن استخدامها يتم تمثيلها بأمان بواسطة Number، مما يتسبب في خطأ تقريب.

لا تكتسِب قيم BigInt الطرق والخصائص من خلال الكائن Number. ولا يمكن استخدامها مع الطرق التي يتضمّنها Math في JavaScript الذي يوفره الكائن. والأهم من ذلك، أنه لا يمكنك مزج أصلات BigInt وNumber في العمليات الحسابية القياسية:

9999999999999999n + 5
> Uncaught TypeError: can't convert BigInt to number

لإجراء العمليات الحسابية باستخدام BigInts، يجب تحديد كلا المعاملين كقيم BigInt:

console.log( 9999999999999999 + 10 );  // Off by one
> 10000000000000010

console.log( 9999999999999999n + 10n );
> 10000000000000009n