javascriptNumberعدد در جاوااسکریپت
Number نوع معمول عدد در جاوااسکریپت است؛ محاسبهٔ مبلغ صحیح، بررسی عدد امن و محدودیت اعشار را با مثال فروشگاه و خروجی قابل بررسی بیاموزید.
مفهوم به زبان ساده
نوع number برای مقدارهایی مانند تعداد، دما و قیمت به کار میرود. عدد صحیح و اعشاری معمول در این نوع قرار میگیرند؛ برای نمونه 12 و 12.5 هر دو number هستند. مقدارهایی مانند NaN و Infinity نیز در همین نوعاند؛ پس صرفاً بررسی typeof کافی نیست تا بگوییم ورودی یک مبلغ معتبر است.
نمایش عدد با دقت محدود انجام میشود. بعضی کسرهای دهدهی در قالب دودویی دقیق ذخیره نمیشوند؛ برای همین نتیجهٔ 0.1 + 0.2 دقیقاً 0.3 نیست. برای مبلغ صحیح تومان در مثال آموزشی، میتوان مقدار را عدد صحیح نگه داشت و با Number.isSafeInteger بررسی کرد. این روش جای تعریف واحد، محدودهٔ مجاز و سیاست گردکردن در سامانهٔ مالی واقعی را نمیگیرد.
مثال سه دفتر ۴۵۰۰۰ تومانی را جمع میکند و امنبودن حاصل را بررسی میکند. هنوز باید تصمیم بگیرید آیا تعداد صفر یا منفی در قرارداد برنامه مجاز است یا نه؛ «عدد بودن» و «مجاز بودن در مسئله» دو پرسش جدا هستند. برای تمرین، تعداد را ۰ کنید و توضیح دهید چرا بررسی عدد امن بهتنهایی این ورودی را رد نمیکند.
کجا به کار میآید؟
- محاسبهٔ مبلغ و تعداد با قرارداد واحد روشن
- تشخیص نتیجهٔ نامعتبر تبدیل متن با Number.isNaN
از تعریف تا یک مثال واقعی
const price = 45000;
const quantity = 3;
const total = price * quantity;
console.log(total);
console.log(Number.isSafeInteger(total));
console.log(0.1 + 0.2 === 0.3);
console.log(Number.isNaN(Number("book")));
135000 true false true
این مثال چطور کار میکند؟
ضرب قیمت در تعداد مبلغ ۱۳۵۰۰۰ را میسازد.
Number.isSafeInteger برای این مبلغ true میدهد.
دو خط آخر محدودیت اعشار و تشخیص NaN را نشان میدهند.
اشتباه رایج
برای تشخیص NaN از value === NaN استفاده نکنید؛ NaN حتی با خودش برابر نیست. ابزار روشن این بررسی Number.isNaN است.
این را به خاطر بسپارید
عدد معتبر برای برنامه باید هم نوع و هم محدوده و معنای درست داشته باشد.