دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۲
  • آبان

جلسه ۱۷ : اعداد در جاوا اسکریپت

  • دسته‌بندی‌ها :
جلسه ۱۷ : اعداد در جاوا اسکریپت
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

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

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

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

      در جاوااسکریپت اعداد را فقط می توان در فرمت دهدهی یا بدون آن نوشت.

      مثال : مقادیر عددی
      خودتان امتحان کنید »

      همچنین می توانید اعداد را با حروف عملی نیز بنویسید.

      مثال : اعداد علمی
      خودتان امتحان کنید »

      اعداد جاوااسکریپت همیشه در فرمت اعشاری ۶۴ بیتی هستند

      بر خلاف بسیاری از زبان های برنامه نویسی دیگر، جاوا اسکریپت انواع مختلفی از اعداد مانند اعداد صحیح، اعشاری و…را تعریف نمی کند.

      اعداد جاوا اسکریپت همیشه به عنوان نقطه دقت مضاعف با توجه به استاندارد بین المللی IEEE 754 ذخیره می شوند.

      این فرمت اعداد را در ۶۴ بیت ذخیره می کند، جایی که عدد (کسری) در بیت های ۰ تا ۵۱ ذخیره می شود.

      نمایش در بیت های ۵۲ تا ۶۲ و علامت در بیت ۶۳:

      Value (aka Fraction/Mantissa)ExponentSign
      ۵۲ bits (0 – 51)۱۱ bits (52 – 62)۱ bit (63)

      دقت عددی

      Integer ها (اعدادی بدون علامت یا نماد) با دقت بالا تا ۱۵ رقم پشتیبانی می شوند :

      مثال : دقت 15 رقمی
      خودتان امتحان کنید »

      حداکثر تعداد ارقام دهدهی ۱۷ است، اما محاسبات اعشاری همیشه ۱۰۰٪ دقیق نیست:

      مثال : حداکثر ارقام
      خودتان امتحان کنید »

      برای حل مشکل فوق، می توانید از ضرب و تقسیم زیر استفاده کنید:

      مثال : عملیات چند گانه
      خودتان امتحان کنید »

      جمع اعداد و رشته ها

      جاوااسکریپت از عملگر + برای عملیات جمع و پیوند بین دو نوع مقدار استفاده می کند.

      استفاده از + بین رشته یا متغیر و نوع اعداد آن ها را با هم ترکیب می کند.

      مثال : جمع اعداد
      خودتان امتحان کنید »

      نتیجه ی جمع دو عدد از نوع رشته ای:

      مثال : جمع رشته ها
      خودتان امتحان کنید »

      اجتماع بین اعداد و رشته ها :

      مثال : اجتماع اعداد و رشته
      خودتان امتحان کنید »

      نتیجه جمع بین یک عدد و رشته ، یک رشته خواهد بود:

      مثال : مشابه مثال فوق
      خودتان امتحان کنید »

      اشتباه رایج مثال زیر، این است که انتظار می رود نتیجه ی آن ۳۰ باشد :

      مثال : اشتباه رایج
      خودتان امتحان کنید »

      در مثال زیر نیز اشتباه رایج این است که گمان می رود نتیجه ۱۰۲۰۳۰ باشد :

      مثال : اشتباه رایج -2
      خودتان امتحان کنید »

      تشریح مثال فوق:

      کامپایلر جاوا اسکریپت از چپ به راست محاسبه می کند.

      ابتدا ۱۰ + ۲۰ اضافه می شود زیرا x و y هر دو عدد هستند.

      سپس ۳۰ + “۳۰” پیوند می شود زیرا z یک رشته است.

      رشته های عددی

      رشته ها در جاوااسکریپت می توانند شامل محتوای عددی باشند.

      مثال : 

      جاوااسکریپت در تمام عملیات ریاضی رشته ها را به عدد تبدیل می کند :

      مثال : تقسیم دو عدد رشته ای
      خودتان امتحان کنید »

      به مثال مشابه زیر نیز توجه کنید:

      مثال : ضرب اعداد رشته ای
      خودتان امتحان کنید »

      نتیجه ی مثال زیر نیز مشابه فوق خواهد بود :

      مثال : تفریق در اعداد رشته ای
      خودتان امتحان کنید »

      اما مثال زیر مانند موارد فوق، کار نمی کند :

      مثال : نتیجه ی متفاوت
      خودتان امتحان کنید »

      در مثال فوق، جاوااسکریپت از + برای پیوند و ترکیب دو رشته استفاده می کند.

      NaN (عدد نیست)

      NaN یک واژه ذخیره شده در جاوا اسکریپت است که نشان می دهد که عدد جاری یک عدد قانونی نیست.

      تلاش برای انجام محاسبات با یک رشته ی غیر عددی نتیجه NaN (نه یک عدد) را دارد:

      مثال : نوع NaN
      خودتان امتحان کنید »

      اگر رشته شامل یک مقدار عددی باشد، نتیجه نیز عدد خواهد بود :

      مثال : تقسیم عدد بر عدد رشته ای
      خودتان امتحان کنید »

      شما می توانید از تابع جاوااسکریپت ()isNaN برای بررسی عدد بودن یک مقدار استفاده کنید :

      مثال : متد isNaN
      خودتان امتحان کنید »

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

      مثال : مقادیر nan
      خودتان امتحان کنید »

      یا نتیجه ممکن است یک پیوند باشد:

      مثال : نمونه ی دیگری از nan
      خودتان امتحان کنید »

      NaN یک عدد است : typeof NaN عدد برمی گرداند:

      مثال : تشخیص nan
      خودتان امتحان کنید »

      بی نهایت

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

      مثال : بی نهایت
      خودتان امتحان کنید »

      تقسیم بر صفر، نتیجه ی بی نهایت دارد :

      مثال : تقسیم به صفر
      خودتان امتحان کنید »

      بی نهایت یک عدد است : typeof بی نهایت تعداد را باز می کند.

      مثال : تست عدد بودن نوع بی نهایت
      خودتان امتحان کنید »

      مبنای ۱۶

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

      مثال : مبنای هگزا
      خودتان امتحان کنید »

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

      به طور پیش فرض، جاوا اسکریپت تعداد اعداد را به صورت مبنای ۱۰ رقمی نشان می دهد.

      اما شما می توانید از متد () toString برای خروج از اعداد از مبنای ۲ به مبنای ۳۶ استفاده کنید.

      هگزادسیمال مبنای ۱۶ است. دهدهی مبنای ۱۰٫ اکتال مبنای ۸٫ باینری مبنای ۲ است.

      مثال : تبدیل مبنا
      خودتان امتحان کنید »

      اعداد می تواند آبجکت باشد

      به طور معمول اعداد جاوااسکریپت ارزشهای ابتدایی ایجاد شده از literals هستند:

      var x = 123;

      اما اعداد همچنین می توانند به عنوان اشیایی با کلمه کلیدی جدید تعریف شوند:

      (var y = new Number(123;

      مثال : تعریف آبجکت عددی
      خودتان امتحان کنید »

      آبجکت هایی از نوع عددی سرعت اجرا را کاهش می دهد.

      همچنین کلید واژه new  کد را پیچیده می کند. این می تواند نتایجی غیر منتظره ای ایجاد کند:

      از عملگر ==  برای مقایسه ی اعداد استفاده می شود:

      مثال : عملگر انتساب
      خودتان امتحان کنید »

      هنگام استفاده از عملگر ===، عددهای برابر برابر نیستند، زیرا عملگر === انتظار دارد که برابری را در هر دو نوع و مقدار انتظار داشته باشد.

      مثال : عملگر ===
      خودتان امتحان کنید »

      یا حتی اشیاء هم قابل مقایسه نیستند :

      مثال : عدم مقایسه آبجکت ها
      خودتان امتحان کنید »

      کلام آخر

      اعداد از مهم ترین نوع داده ها در هر یک از زبان های برنامه نویسی و اسکریپت های جاوااسکریپت است، که هر زبان ساختارها و متدهایی را برای کار با انواع عددی در نظر گرفته است، در این بخش نیز ما ساختار و فرمت های کار با اعداد در جاوااسکریپت را بررسی کردیم.

      QR:  جلسه ۱۷ : اعداد در جاوا اسکریپت
      به اشتراک بگذارید


      دیدگاه کاربران
      1. تصویر کاربر
        • تصویر کاربر
          • تصویر کاربر
          • تصویر کاربر
      2. تصویر کاربر