BigInt
1️⃣ تعریف BigInt
BigInt
یک نوع داده جدید در جاوااسکریپت است که برای نمایش و کار با اعداد خیلی بزرگ استفاده میشود، بزرگتر از Number.MAX_SAFE_INTEGER
.
-
اعداد BigInt میتوانند هر اندازهای بزرگ باشند بدون از دست رفتن دقت.
2️⃣ ایجاد BigInt
روش | مثال | توضیح |
---|---|---|
اضافه کردن n به انتهای عدد | 123456789012345678901234567890n | تعریف BigInt مستقیم |
استفاده از تابع ()BigInt | BigInt("12345678901234567890") | تبدیل رشته یا عدد به BigInt |
مثالها:
3️⃣ عملیات ریاضی با BigInt
عملیات | مثال | توضیح |
---|---|---|
جمع | a + b | جمع دو BigInt |
تفریق | a - b | تفریق دو BigInt |
ضرب | a * b | ضرب دو BigInt |
تقسیم | a / b | تقسیم دو BigInt (نتیجه گرد شده به پایین) |
باقیمانده | a % b | باقیمانده تقسیم |
مثالها:
⚠️ توجه: نمیتوان BigInt و Number را مستقیماً با هم جمع یا ضرب کرد. باید نوعها یکسان شوند.
4️⃣ مقایسه BigInt با Number
مثال | توضیح |
---|---|
100n > 50 | true → مقایسه صحیح |
100n === 100 | false → نوعها متفاوتند |
100n == 100 | true → مقایسه غیر سختگیرانه (type coercion) |
5️⃣ توابع و متدهای مرتبط با BigInt
-
BigInt.asIntN(bits, bigint)
→ محدود کردن BigInt به تعداد بیت مشخص (Signed) -
BigInt.asUintN(bits, bigint)
→ محدود کردن BigInt به تعداد بیت مشخص (Unsigned)
مثال:
6️⃣ نکات مهم
-
BigInt بزرگتر از Number.MAX_SAFE_INTEGER را با دقت کامل نگه میدارد.
-
نمیتوان متدهای
toFixed()
,toPrecision()
,toExponential()
را روی BigInt استفاده کرد.-
تبدیل به رشته با
()toString
امکانپذیر است:
-
عملیات ریاضی بین BigInt و Number باید با تبدیل نوع انجام شود: