عملگرهای ریاضی
JavaScript از عملگرهای ریاضی برای انجام محاسبات استفاده می کند. جدول زیر عملگرهای ریاضی JavaScript را نشان می دهد :
عملگر | دسته | مثال | نتیجه |
+ | Binary | var1 = var2 + var3; | Var1 برابر است با حاصل جمع var2 و var3 |
– | Binary | var1 = var2 – var3; | Var1 برابر است با حاصل تفریق var2 و var3 |
* | Binary | var1 = var2 * var3; | Var1 برابر است با حاصلضرب var2 در var3 |
** | Binary | var1 = var2 ** var3; | Var1 برابر است با var2 به توان var3 |
/ | Binary | var1 = var2 / var3; | Var1 برابر است با حاصل تقسیم var2 بر var3 |
% | Binary | var1 = var2 % var3; | Var1 برابر است با باقیمانده تقسیم var2 و var3 |
+ | Unary | var1 = +var2; | Var1 برابر است با مقدار var2 |
– | Unary | var1 = -var2; | Var1 برابر است با مقدار var2 ضربدر 1- |
دیگر عملگرهای JavaScript عملگرهای کاهش و افزایش هستند. این عملگرها مقدار 1 را از متغیرها کم یا به آنها اضافه می کنند. از این متغیرها اغلب در حلقه ها استفاده می شود :
عملگر | دسته | مثال | نتیجه |
++ | Unary | var1 = ++var2; | مقدار var1 برابر است با var2 بعلاوه 1 |
– – | Unary | var1 = – -var2; | مقدار var1 برابر است با var2 منهای 1 |
++ | Unary | var1 = var2++; | مقدار var1 برابر است با var2 به متغیر var2 یک واحد اضافه می شود |
– – | Unary | var1 = var2- -; | مقدار var1 برابر است با var2 از متغیر var2 یک واحد کم می شود |
به این نکته توجه داشته باشید که محل قرارگیری عملگر در نتیجه محاسبات تاثیر دارد.اگر عملگر قبل از متغیر var2 بیاید افزایش یا کاهش var1 اتفاق می افتد.چنانچه عملگرها بعد از متغیر var2 قرار بگیرند ابتدا var1 برابر var2 می شود و سپس متغیر var2 افزایش یا کاهش می یابد. به مثال های زیر توجه کنید :
x = 0; y = 1; x = ++y; console.log(`x = ${x}`); console.log(`y = ${y}`);
x = 2 y = 2
x = 0; y = 1; x = --y; console.log(`x = ${x}`); console.log(`y = ${y}`);
x=0 y=0
همانطور که در دو مثال بالا مشاهده می کنید،درج عملگرهای — و ++ قبل از عملوند y باعث می شود که ابتدا یک واحد از y کم و یا یک واحد به y اضافه شود و سپس نتیجه در عملوند x قرار بگیرد. حال به دو مثال زیر توجه کنید :
x = 0; y = 1; x = y--; console.log(`x = ${x}`); console.log(`y = ${y}`);
x = 1 y = 0
x = 0; y = 1; x = y++; console.log(`x = ${x}`); console.log(`y = ${y}`);
x = 1 y = 2
همانطور که در دو مثال بالا مشاهده می کنید،درج عملگرهای — و ++ بعد از عملوند y باعث می شود که ابتدا مقدار y در داخل متغیر x قرار بگیرد و سپس یک واحد از y کم و یا یک واحد به آن اضافه شود. حال میتوانیم با ایجاد یک برنامه نحوه عملکرد عملگرهای ریاضی در جاوااسکریپت را یاد بگیریم :
1: //Variable declarations 2: var num1, num2; 3: var msg1, msg2; 4: 5: //Assign test values 6: num1 = 5; 7: num2 = 3; 8: 9: //Demonstrate use of mathematical operators 10: console.log(`The sum of ${num1} and ${num2} is ${num1 + num2}`); 11: console.log(`The difference of ${num1} and ${num2} is ${num1 - num2}`); 12: console.log(`The product of ${num1} and ${num2} is ${num1 * num2}`); 13: console.log(`The quotient of ${num1} and ${num2} is ${(num1 / num2).toFixed(2)}`); 14: console.log(`The remainder of ${num1} divided by ${num2} is ${num1 % num2}`); 15: console.log(`The result of ${num1} powered by ${num2} is ${num1 ** num2}`); 16: 17: //Demonstrate concatenation on strings using the + operator 18: msg1 = "Hello "; 19: msg2 = "World!"; 20: console.log(msg1 + msg2);
The sum of 5 and 3 is 8. The difference of 5 and 3 is 2. The product of 5 and 3 is 15. The quotient of 5 and 3 is 1.67. The remainder of 5 divided by 3 is 2 The result of 5 powered by 3 is 125 Hello World!
برنامه بالا نتیجه هر عبارت را نشان میدهد. در این مثال و در خط 13 برای اینکه ارقام کسری بعد از عدد حاصل، دو رقم باشند، از متد ()toFixed استفاده کرده ایم. عدد 2 در این جا بدین معناست که عدد را تا دو رقم اعشار نمایش بده. در خط 20 مشاهده میکنید که دو رشته به وسیله عملگر + به هم متصل شدهاند. نتیجه استفاده از عملگر + برای چسباندن دو کلمه “Hello “ و “!World” رشته “!Hello World” خواهد بود. به فاصلههای خالی بعد از اولین کلمه توجه کنید اگر آنها را حذف کنید از خروجی برنامه نیز حذف میشوند.