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

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

خب عددهایی که ما بررسی می کنیم صرفا یا عدد صحیح هستند یا اعداد اعشاری … توی جاوا اسکریپت همونطور که می دونید متغیر ها به صورت پویا تعریف می شن یعنی براساس، مقدار داده! ولی خب یه چیز جالب … ما توی زبان های برنامه نویسی دیگه صحبت از بایت و اینتجر و چه میدونم لانگ و … داریم همه این ها جدای از بحث اینکه چه داده ای رو ذخیره می کنن یه آیتم مهم دیگه هم دارن. مقدار فضای ذخیره سازی داده! یعنی چی؟ مثلا شما توی بایت مقدار عددی که می تونید بزارید کمتر از اینتجره ولی توی جاوا اسکریپت از اونجایی که این حالت ها وجود نداره برای تمام متغیر های عددی مقدار ۶۴ بیتی در نظر گرفته می شه.

خب برای تعریف یه عدد ساده توی یه متغیر کافیه کار زیر رو انجام بدید.

اگه ریاضی تون مثل من حالش افتضاحه که هیچ ولی اگه ریاضی تون خوب باشه یه چیز رو می خوندیم به اسم نماد علمی! نقشش این بود که یه عدد که دارای مثالا ۷ تا صفر بود رو مجبور نباشیم که هر هفت تا صفر رو بنویسیم. بلکه به جاش از علامت e و بعد از اون تعداد صفر ها رو می نوشتیم.

توی این کد قصد داریم تا عدد 55000000 رو چاپ کنیم، خب بجای اینکه اون دکمه صفر روی کیبورد رو نابود کنیم از این حالت ساده استفاده کنید دیگه! صفر نازنینم رو چرا نابود کنم 😒…

خب بیاید با چند تا اصطلاح ساده آشنا بشیم و بعدش توی قدم بعدی بریم سراغ متدها، همون قسمت شیرین عزیز و خوشمزه ی کاربردی! یعنی اگه این کاربردی آخرش رو نمی نوشتم خدا می دونه چی فکر می کردن مردم … 😃

Infinity یا بی نهایت

خب بی نهایت در واقع داره راجب به این صحبت می کنه که داری اشتب می زنی داداش! این مقداری که بی نهایت هستش در دو حالت خارج نیست یا حاصل از اینه که مقدار شما خیلی خیلی خیلی خیلی بزرگه و مفسر دیگه نمی تونه از پسش بربیاد مثلا عدد 1.3407807929942597e+154*8 و در حالت هایی هم نشان می دهد که شما در محاسبه اشتباه کردید. مثلا حاصل تقسیم عددی بر صفر خروجی اش میشه infinity … عبارت دیگه ای هم داریم که میشه منفی بی نهایت … طبیعیه دیگه یا بی نهایت مثبته یا منفی … مثلا زمانی که شما عدد منفی رو تقسیم بر صفر کنی می شه منفی بی نهایت. دو خط کد زیر رو اجرا کن، ببینی دارم چی می گم.

یه چیز جالب هم بگم اینکه نامحدود یا بی نهایت در واقع مقدارش همون عدده یعنی اگه تو مثال های قبلی که متغیر a رو برابر مقدار بی نهایتی قرار دادم یه typeof بگیرید متوجه می شید چی میگم … اصلا چرا دارم حرف می زنم بزارید اجرا کنیم دیگه.

NaN – Not a Number

این مقدار داره متذکر میشه که عبارت شما عدد نیست. مثلا شما دارید یه رشته رو با یه عدد با هم تقسیم می کنید و اون رو توی متغیری ذخیره می کنید و در نهایت خیلی با حالت انتظار نشستی و فکر می کنی مفسر جوابت رو بده؟! من بودم جای مفسر می اومدم می زدمت، شاید این تو آینده امکان پذیر باشه. توی این حالت که گفتم مقدار عبارت ما برابر با NAN خواهد بود که به این معناست این عبارت عدد نیست.

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

اگه یه typeof بگیرید از NaN متوجه می شید که مقدار خروجی برابر با number هستش…کمی گیج کننده است از طرفی میگه عدد نیست از طرفی میگه مقدار مادر، عدده … به هر حال …

یه چیز دیگه بگم و برم. اعداد رو میشه به صورت شی یا همون Object هم نوشت … خیلی ساده است یه متغیر رو تعریف کنید و از اون یه آبجکت از نوع عدد بسازید.

کد زیر رو نگاه کنید:

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

منتشرشده توسط

Arastoo Abasi

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *