جاوااسکریپت دارای عملگرهای زیادی است که از آنها برای انجام عملیات ریاضی استفاده میشود.با استفاده از این عملگر می توان انواع عملیات ریاضی را بر روی مقادیر خود اجرا کرد.
عملگرهای ریاضی یا arithmetic
از عملگرهای ریاضی برای انجام عملیات ریاضی بر روی مقادیر عددی لیترال و متغیرها استفاده می شود.
از عملگرهای ریاضی معمولا بین دو مقدار عددی استفاده می شود.
مثال:
1 2 |
let x = 100 + 50; //150 |
عملیات ریاضی بین دو متغیر
1 |
let x = a + b; |
عملیات ریاضی در قالب عبارت
1 |
let x = (100 + 50) * a; |
اولویت عملگرها یا Operator Precedence
زمانی که شما دارای عملیات مختلف ریاضی مانند + و * هستید باید این را بدانید که عملگر * و / نسبت به + و – دارای اولویت محاسباتی بیشتر هستند. محاسبه همیشه از سمت چپ به راست است.
مثال:
1 2 3 |
let x = 100 + 50 * 3; let x = 100 + 50 * 3; //150 * 3 or 100 + 1500 |
بالا بردن اولویت محاسبه
برای اینکه بتوانیم اولویت یک عملگر عملیات ریاضی را جهت محاسبه بالا ببریم از عملگر پرانتز باز و بسته استفاده میکنیم.این عملگر حالت group را دارد.
مثال:
1 2 |
let x = (100 + 50) * 3; //450 |
عملگرها و عمولندها
به کاراکترهایی که برای انجام عملیات ریاضی استفاده می شود عملگر و به مقادیری که عملیات ریاضی بر روی آنها انجام می شود عمولند یا operand گفته می شود.
عملگر مساوی = (assignment)
که از آن برای تخصیص یک مقدار به متغیر استفاده میشود. در مثال زیر متغیر x و y هر دو مقداری دارند و در آخر حاصل جمع آنها به متغیر z تخصیص داده شده است.
مثال:
1 2 3 |
let x = 5; let y = 2; let z = x + y; |
عملگر جمع + (addition)
از عملگر جمع + برای جمع دو مقدار یا دو متغیر استفاده میشود. کاربرد دیگر این عملگر اتصال دو متغیر رشته ای بهم است.
مثال عملیات جمع کردن:
1 2 3 4 |
let x = 5; let y = 2; let z = x + y; //7 |
مثال عملیات اتصال:
1 2 3 4 |
let x = "amir" let y = "javanmir" let z = x + y; //amir javanmir |
در صورتی که یکی از مقادیر شما عدد رشته ای باشد تنها با عملگر + عملیات الحاق انجام میشود اما سایر محاسبات قابل پیاده سازی است.
مثال:
1 2 3 |
var a = "10"; a * 10; //100 |
1 2 3 |
var a = "amir"; a * 10; //NaN |
عملگر کسر – (Subtraction)
از این عملگر برای عملیات ریاضی کسر بین دو مقدار عددی استفاده میشود. معمولا مقدار اول از دوم بزرگتر است.
مثال:
1 2 3 4 |
let x = 5; let y = 2; let z = x - y; //3 |
عملگر ضرب * (multiplication)
از این عملگر برای عملیات ریاضی ضرب بین دو مقدار عددی استفاده میشود.
مثال:
1 2 3 4 |
let x = 5; let y = 2; let z = x * y; //10 |
ضرب هر عددی (مثبت) در ۰ مقدار بی نهایت یا infinity برگشت می دهد و ضرب هر عددی (منفی) در ۰ مقدار infinity- برگشت می دهد.
مثال:
1 2 3 4 5 6 7 |
var a = 5; a * 0; //infinity a = -5; a * 0; //-infinity |
عملگر تقسیم / (division)
از این عملگر برای عملیات ریاضی تقسیم بین دو مقدار عددی استفاده میشود.
مثال:
1 2 3 4 |
let x = 5; let y = 2; let z = x / y; //2.5 |
عملگر باقیمانده % (Modulus)
از این عملگر برای عملیات ریاضی حاصل باقیمانده تقسیم دو عدد بر هم استفاده میشود. برخلاف تصور این عملگر درصدگیری نیست.
مثال:
1 2 3 4 |
let x = 5; let y = 2; let z = x % y; //1 |
عملگر به توان رساندن ** (Exponentiation)
این عملگر جز عملگرهای جدید نسخه es6 است و بوسیله آن میتوان یک عدد را به توان عدد دوم رساند.در نسخه های قبل از متد Math.pow() برای به توان رساندن استفاده میشده است.
مثال:
1 2 3 4 |
let x = 5; let y = 2; let z = x ** y; //25 |
عملگر افزایشی ++ (increment) یا کاهشی — (decrement) حالت قبل از متغیر
بوسیله این عملگر یک متغیر را که دارای مقدار عددی است یک واحد به آن اضافه میکنیم. از این عملگر در عملیات حلقه زدن استفاده میشود و دارای دو حالت استفاده است.
در این حالت در صورتی که علامت ++ یا — را قبل از متغیر خود قرار دهید در همان لحظه مقدار را کم یا زیاد و اجرا می کند.
مثال:
1 2 3 4 5 6 7 |
var x = 1; var y = ++x; console.log(x); //2 console.log(y); //2 |
عملگر افزایشی ++ (increment) یا کاهشی — (decrement) حالت بعد از متغیر
در این حالت در صورتی که علامت ++ یا — را بعد از متغیر خود قرار دهید در همان لحظه مقدار را کم یا زیاد می کند ولی اجرا نمی کند.
مثال:
1 2 3 4 5 6 7 |
var x = 1; var y = x++; console.log(x); //2 console.log(y); //1 |