بدوی BigInt افزودنی نسبتاً جدیدی به جاوا اسکریپت است که امکان انجام عملیات ریاضی بر روی اعداد خارج از محدوده مجاز توسط 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
داخلی جاوا اسکریپت ارائه میکند استفاده شوند. مهمتر از همه، شما نمی توانید 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