akofaraji.ir
Arithmetic operators
نوشته شده در تاریخ 30 فروردین 1403
نظرات: 0 امتیاز: 8 زمان مطالعه: 14 دقیقه
 
 
اپراتور های محاسباتی در جاوا اسکریپت
 

اپراتور های محاسباتی (Arithmetic operators)

 

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

 

علامت نام علامت و کارکرد مثال
+ مثبت – جمع بستن var x = 100 + 50;
منفی – تفریق کردن var x = 100 - 50;
* ستاره – ضرب کردن var x = (100 + 50) * a;
** دو ستاره – به توان رساندن(1) var z = x ** 2;(2)
/ اسلش – تقسیم کردن var z = x / y;
% درصد – باقیمانده تقسیم(3) var z = x % y;
++ دو مثبت – اضافه کردن یک واحد x++;
دو منفی – کم کردن یک واحد x--;

 

نکات جدول:

 

1- اپراتور مربوط به “به توان رساندن” فقط در ECMAScript 6 به بعد پشتیبانی می شود که آخرین استاندارد کد نویسی جاوا اسکریپت است و در سال 2015 ارائه شد. ما نیز در طول این دوره بر همین پایه کد نویسی می کنیم.

 

2- برای برخی از این اپراتور ها، توابع از پیش تعریف شده نیز وجود دارد. به طور مثال برای رساندن به توان خاص می توان از تابع (Math.pow(x,y استفاده کرد:

 

خروجی هر دو حالت عدد 25 خواهد بود. شکل تابعی این دستور دو آرگومان می گیرد؛ آرگومان اول عدد یا متغیری که باید به توان برسد و آرگومان دوم توان مورد نظر. می توانید این مثال را در ادیتور آنلاین جاوا اسکریپت مشاهده کنید.

 

3- علامت درصد هیچ ربطی به درصد گیری و … ندارد. این اپراتور باقی مانده ی یک تقسیم را به شما نشان می دهد. به مثال زیر توجه کنید:

 

خروجی کد ما عدد 1 خواهد بود. چرا؟ زیرا باقی مانده ی تقسیم 5 بر 2 می شود 1. می توانید این مثال را در ادیتور آنلاین جاوا اسکریپت مشاهده کنید.

 

نکات کلی در هنگام کار با اپراتور های محاسباتی:

  • در یک عملیات حسابی به اعداد operand گفته می شود و به علامتی که یکی از علامت های جدول بالاست operator. اگر جایی این ها را با چنین اسامی دیدید تعجب نکنید.
  • هنگام استفاده اپراتور تقسیم (/) مراقب باشید که عددی را بر صفر تقسیم نکنید! تقسیم بر صفر از نظر منطقی معنا ندارد و نتیجه ی آن بی نهایت (infinity) خواهد بود. می توانید چنین مثالی را در کد زیر ببینید:

می توانید این مثال را در ادیتور آنلاین جاوا اسکریپت مشاهده کنید.

 

شاید از خودتان بپرسید کدام آدم عاقلی چنین کاری می کند؟ بحث اینجا نیست! هشدار ما به معنی مراقب بودن هنگام انجام یک پروژه ی واقعی است.

 

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

 

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

 

اولویت در محاسبات

 

شاید تا به حال عبارت Operator precedence (به معنی اولویت اپراتور) را در وب سایت های آموزشی مختلف دیده باشید. اولویت اپراتور ها یعنی در یک رشته محاسبه ی طولانی کدام محاسبات و اپراتور ها اول اجرا می شوند. به مثال زیر دقت کنید:

var x = 100 + 50 * 3;

 

جواب کد بالا چه خواهد بود؟ خلاصه ی این عبارت 3 * 150 است یا 150 + 100 ؟ کدام قسمت اول محاسبه می شود؟ علامت جمع یا علامت ضرب؟

 

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

 

می توانید خروجی این مثال را خودتان در ادیتور آنلاین جاوا اسکریپت مشاهده کنید.

 

حالا اگر بخواهیم اول جمع اتفاق بیفتد باید چه کار کنیم؟ باید اولویت اش را بالا ببریم. چطور؟ با استفاده از پرانتز! بله پرانتز اولویت بالاتری نسبت به تمام اپراتور های محاسباتی دیگر دارد. بنابراین خروجی کد زیر می شود 450!

var x = (100 + 50) * 3;

 

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

 

در صفحه ی اولویت اپراتور ها از شبکه ی Mozilla لیست کاملی از تمام این اولویت ها وجود دارد که می توانید به آنها دسترسی داشته باشید. برای رفتن به این جدول روی این لینک کلیک کنید. زمانی که روی لینک کلیک کنید با جدولی مانند تصویر زیر روبرو می شوید:

 

جدول اولویت اپراتور ها در جاوا اسکریپت
جدول اولویت اپراتور ها در جاوا اسکریپت

 

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

 

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

 

منبع: سایت روکسو


اگر احساس می کنید این مطلب برای شما مفید بود ، از 1 تا 10 به این مطلب امتیاز دهید

دیدگاه کاربران در مورد این مطلب

ثبت نظر
به نظر خوب میاد!
لطفا نام را وارد کنید
@
لطفا یک ایمیل منحصر به فرد و معتبر انتخاب کنید.
لطفا متن با کلمات و معانی مفهوم دار وارد نمایید