BigInt

بدوی 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