تُعد إشارات 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