اعداد جاوا اسکریپت

اعداد جاوا اسکریپت

دسته بندی : آموزش Javascript سطح مقاله : متوسط زمان مطالعه : 5 دقیقه آخرین بروز رسانی: 18 اسفند 1399

این آموزش توضیح می دهد که اعداد در JavaScript چیست. با مرور آن ، نحوه نوشتن اعداد ، از جمله اعداد صحیح و اعشاری JavaScript را درک خواهید کرد. شما با اعداد دودویی ، هشتی و هگزادسیمال ، بی نهایت جاوا اسکریپت و NaN آشنا خواهید شد.

این آموزش شامل دقیق بودن تعداد JavaScript و همچنین خصوصیات تعداد خواهد بود. قبل از یادگیری روش های عددی ، اطمینان حاصل کنید که کاملاً آن ها را درک کرده اید.

نکات اصلی اعداد جاوا اسکریپت:

  • فقط یک نوع عدد در جاوا اسکریپت وجود دارد.
  • اعداد در JavaScript را می توان با یا بدون اعشار نوشت.
  • شماره جاوا اسکریپت می تواند تا 17 رقم بعد از رقم اعشار را نگه دارد تا اینکه دقت را از دست بدهد.
  • در JavaScript ، متدها و خصوصیات برای اعداد قابل دسترسی هستند ، زیرا هنگام اجرا به عنوان اشیا رفتار می شوند.

قالب شماره

برخلاف سایر زبان های برنامه نویسی ، که تعداد مختلفی از اعداد را دارند ، همه اعداد در JavaScript اعداد شناور هستند. طبق استاندارد بین المللی IEEE 754 ، تمام اعداد Javascript اعداد شناور با دقت دو برابر هستند. در این قالب ، اعداد در 64 بیت و عدد کسر در بیت های 0 تا 51 ذخیره می شوند. نمایانگر در بیت های 52 تا 62 و در آخر علامت در بیت 63 ذخیره می شود.

SignExponentValue (aka Fraction/Mantissa)
1 bit (63)11 bits (52-62)52 bits (0-51)

اعداد بسیار زیاد یا کوچک ممکن است با استفاده از علامت گذاری علمی (نمایی) نوشته شوند. این بدان معنی است که برخی از اعداد را می توان برای یک کد کوتاه تر و دقیق تر به حروف تبدیل کرد.

var a = 124e5;    // 12400000  
var b = 124e-6;   // 0.000124

دقت، درستی

اعداد در JavaScript را می توان با یا بدون اعشار نوشت. این شما هستید که تصمیم می گیرید:

var a = 21.00;    // number with decimals  
var b = 12;       // number without decimals

اگرچه حداکثر تعداد ارقام نگهداری شده پس از رقم اعشار هفده است ، اما بخاطر داشته باشید که در آن مرحله اعداد جاوا اسکریپت خیلی دقیق نیستند. آنها فقط حداکثر تا پانزده رقم پس از رقم اعشار دقیق هستند:

var a = 999999999999999;   // a will be 999999999999999  
var b = 9999999999999999;  // b will be 10000000000000000

به مثال زیر توجه کنید تا ببینید که وقتی تعداد ارقام بعد از نقطه اعشاری از پانزده عدد بیشتر شود ، حسابهای شناور نمی توانند همیشه 100٪ دقیق باشند:

var a = 0.2 + 0.1; // a will return 0.30000000000000004

برای حل مسئله در مثال ویرایشگر بالا ، بیشتر توسعه دهندگان از ضرب و تقسیم برای محاسبات دقیق و دقیق با اعداد JavaScript استفاده می کنند.

var a = (0.2 * 10 + 0.1 * 10) / 10; // a will return 0.3

هگزا دسیمال

ثابت های عددی در جاوا اسکریپت اگر قبل از آنها 0x باشد ، به عنوان هگزادسیم تفسیر می شوند.

اعداد (0 ، 1 ، 2 ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9) تا 16 رقم گسترش می یابند.

شماره 9 قبل از آن A ، B ، C ، D ، E ، F است.

  • A = 10
  • B = 11
  • C = 12
  • D = 13
  • E = 14
  • F = 15

اعداد (و حروف) ضرب می شوند و نتیجه به نظر می رسد.

در زندگی واقعی اینگونه به نظر می رسد:

var a = 0xFF;

جاوا اسکریپت به طور پیش فرض اعداد را به عنوان پایه 10 اعشاری نشان می دهد (معنی – 0 ، 1 ، 2 ، 3 ، 5 ، 6 ، 7 ، 8 ، 9). با این وجود ، می توان از روش ()toString برای خروجی اعداد JavaScript به عنوان پایه 2 (باینری) ، پایه 8 (هشتم) یا پایه 16 (هگز) استفاده کرد.

var a = 321;
a.toString(16);
a.toString(8);
a.toString(2);

توجه: هرگز اعداد جاوا اسکریپت را با صفر اول ننویسید ، زیرا برخی از نسخه های جاوا اسکریپت ممکن است آنها را به عنوان هشت (پایه 8) تفسیر کنند!

بی نهایت

JavaScript Infinity یا –Infinity (بینهایت مثبت و منفی) مقداری است که هنگام محاسبه بیشترین تعداد دقیق ممکن در هنگام استفاده از JavaScript توسط برنامه بازگردانده می شود.

بزرگترین شماره دقیق جاوا اسکریپت که می تواند برگرداند 9007199254740991 پوند است.

var a = 4;
while (a != Infinity) {     // executes until infinity (highest possible number is reached
    a = a * a;
}

با این حال ، نه تنها حداکثر اعداد باعث ایجاد JavaScript Infinity می شوند. بخاطر داشته باشید که تقسیم بر 0 (صفر) نیز باعث ایجاد Infinity می شود:

var a =  4 / 0;
var b = -4 / 0;

typeOf Infinity تعریف شماره JavaScript را برمی گرداند:

typeof Infinity;

NaN – یک عدد نیست

اگر بخواهید کارهای محاسباتی را با رشته های غیر عددی انجام دهید ، منجر به NaN (نه عدد) می شود ، این نشان می دهد که مقدار انتخاب شده عدد نیست بلکه چیز دیگری است.

var a = 2 / "Car";

با این حال ، در صورت وجود رشته در مقدار عددی ، نتیجه همچنان یک عدد خواهد بود.

var a = 2 / "2";

از تابع JavaScript جهانی isNaN می توان برای یافتن اینکه آیا مقدار عددی است که JavaScript می تواند نشان دهد استفاده می شود یا خیر:

var a = 2 / "Car";
isNaN(a);

توجه: باید به دنبال NaN JavaScript باشید. استفاده از NaN در یک عملیات ریاضی منجر به NaN دیگر می شود.

نمونه ای از استفاده از NaN JavaScript در عملیات ریاضی را بررسی کنید:

var a = NaN;
var b = 4;
var c = a + b;

نتیجه همچنین ممکن است بهم پیوستن باشد (رشته ها از انتهای انتها به هم متصل می شوند):

var a = NaN;
var b = "4";  
var c = a + b;

typeOf (NaN) تعریف شماره JavaScript را برمی گرداند:

typeof NaN;

توجه: به خاطر داشته باشید که رشته + رشته = هم پیوستگی ، در حالی که عدد + عدد = جمع.

اعداد به عنوان اشیا

اعداد جاوا اسکریپت به طور پیش فرض همه مقادیر ابتدایی هستند که از حروف کوچک ایجاد می شوند: var x = 321. با این حال ، اعداد نیز ممکن است به عنوان اشیا با استفاده از کلمه کلیدی جدید تعریف شوند. به نظر می رسد اینگونه است: var y = شماره جدید (321). با این حال ، این کار سرعت اجرای فیلمنامه را کاهش می دهد و ممکن است نتایج ناخواسته ای به بار آورد.

var a = 321;
var b = new Number(321);

هنگامی که از عملگر مقایسه == loose برابر استفاده می کنید ، قبل از مقایسه مقادیر ، اجباری را انجام می دهد. این بدان معنی است که سعی می کند انواع متغیرها را برای مقایسه مقادیر تغییر دهد. بنابراین ، در مثال زیر ، مقایسه درست است:

var a = 400;            
var b = new Number(400);

وقتی از === عملگر مقایسه دقیق برابری استفاده می کنید ، اگر از یک نوع نباشند ، اعداد برابر برابر نیستند ، به عنوان مثال یکی از اعداد جاوا اسکریپت یک شی است و دیگری یک متغیر است. به این دلیل که === نوع و مقدار را بررسی می کند:

var a = 400;         
var b = new Number(400);

همچنین باید توجه داشت که اشیا Java جاوا اسکریپت به طور پیش فرض قابل مقایسه نیستند.

var a = new Number(400);
var b = new Number(400);

خصوصیات شماره

DescriptionProperty
بیشترین تعداد ممکن را برگردانیدMAX_VALUE
کمترین تعداد ممکن را برگردانیدMIN_VALUE
نمایانگر نامحدود بودن منفی (برگشت در هنگام سرریز)NEGATIVE_INFINITY
مقدار “Not-a-Number” را نشان دهیدNaN
نمایانگر بی نهایت (برگشت در هنگام سرریز)POSITIVE_INFINITY

ویژگی موجود در مثال ویرایشگر زیر بالاترین ویژگی ممکن را برمی گرداند. همین کار را با MIN_VALUE ، NEGATIVE_INFINITY و سایر ویژگی ها می توان انجام داد ، زیرا آنها همچنین مقدار خاص را با توجه به ویژگی باز می گردانند.

var a = Number.MAX_VALUE;

خواص عدد به لفاف شی object شماره JavaScript تعلق دارد که Number نامیده می شود.

این خصوصیات فقط به عنوان Number.MAX_VALUE قابل دسترسی هستند.

با استفاده از myNumber.MAX_VALUE ، جایی که myNumber یک متغیر ، عبارت یا مقدار است ، تعریف نشده برمی گردد.

var a = 4;
var b = a.MAX_VALUE;

خلاصه اعداد جاوا اسکریپت:

  • شماره جاوا اسکریپت مقدار اعداد را در جاوا اسکریپت نگه می دارد. می توان آن را به صورت هگزادسیمال نوشت.
  • بعد از رقم اعشار ، یک عدد JavaScript می تواند تا 17 رقم را در خود جای دهد ، اما فقط تا 15 عدد را نگه می دارد تا زمانی که دقت خود را از دست بدهد.
  • اگر این تعداد برای کامپایل یک برنامه JavaScript خیلی بزرگ باشد ، Infinity را برمی گرداند.
  • اگر یک مقدار غیر عددی در یک شماره جاوا اسکریپت درج شود ، برنامه NaN را برمی گرداند.

این مقاله چقدر براتون مفید بود؟

اولین امتیاز را ثبت کنید😊