ویژگی های عدد (Number Properties)
اینجا با «ویژگی های عدد (Number Properties)» آشنا می شوی. این ها ثابت های آماده اند. مقدارشان از قبل تعیین شده است. برای مقایسه، تشخیص بی نهایت، اعداد امن و دقت اعشار کاربرد دارند.
Number.EPSILON
«اپسیلون (EPSILON)» کوچک ترین اختلاف بین 1 و عددی کمی بزرگ تر از 1 است. این برای خطای اعشاری مفید است.
let x = Number.EPSILON;
نکته: این ویژگی در ES6 معرفی شد و در اینترنت اکسپلورر کار نمی کند.
Number.MAX_VALUE و Number.MIN_VALUE
«MAX_VALUE» بزرگ ترین عدد ممکن در جاوااسکریپت است. «MIN_VALUE» کوچک ترین عدد مثبتِ ممکن است.
let maxv = Number.MAX_VALUE;
let minv = Number.MIN_VALUE;
این ویژگی ها روی متغیر نیستند. پس «x.MAX_VALUE» نامعتبر است و «undefined» می دهد.
let x = 6;
x.MAX_VALUE;
حداقل و حداکثر «عدد امن (Safe Integer)»
«عدد امن» عددی است که دقیق نمایش می یابد. بازه امن از −(2^53−1) تا +(2^53−1) است.
let minSafe = Number.MIN_SAFE_INTEGER;
let maxSafe = Number.MAX_SAFE_INTEGER;
مثبتِ بی نهایت و منفیِ بی نهایت
اگر مقدار از محدوده بزرگ تر شود، «POSITIVE_INFINITY» یا «NEGATIVE_INFINITY» برمی گردد. تقسیم بر صفر هم این حالت را می دهد.
let p = Number.POSITIVE_INFINITY;
let t = 1 / 0;
let n = Number.NEGATIVE_INFINITY;
let m = -1 / 0;
Number.NaN (Not a Number)
«NaN» یعنی نتیجه عددی معتبر نیست. مثلاً وقتی با رشته غیرعددی حساب کنیم.
let a = Number.NaN;
let b = 100 / "Apple";
گام های تمرین
- ببین «Number.MIN_VALUE» از صفر کوچک تر نیست.
- با «1/0» مقدار بی نهایت را بررسی کن.
- عدد بزرگ تر از «MAX_SAFE_INTEGER» را تست کن.
نکته: برای مرور کلی ویژگی های عدد جاوااسکریپت را کنار متدهای عدد تمرین کن.
جمع بندی سریع
- EPSILON برای خطای اعشاری است.
- MAX_VALUE و MIN_VALUE مرزهای نمایش اند.
- اعداد امن بین ±(2^53−1) هستند.
- تقسیم بر صفر بی نهایت می دهد.
- NaN یعنی نتیجه عددی نیست.