سلام دوستان! حالا که تونستیم با مهمترین عملگرهای جاوااسکریپت آشنا بشیم، می‌خوایم ببینیم کدوم عملگرها اولویت و تقدم بالاتری نسبت به بقیه عملگرها دارن. مثلاً اگه توی یک عبارت، هم عملگر ضرب وجود داشته باشه و هم عملگر جمع، می‌خوایم بدونیم جاوااسکریپت اول به کدوم عملگر می‌پردازه.

موارد زیر رو توی این قسمت یاد می‌گیریم:

 

تقدم عملگرها چیه؟ 🤔

کد زیر رو در نظر بگیرین:

5 + 2 * 3;

همه‌مون از زمان مدرسه 🏫 یادمون هست که توی عبارت بالا اول عمل ضرب باید انجام بگیره و بعد عمل جمع. توی زبان‌های برنامه‌نویسی هم این موضوع وجود داره. توی زبان‌های برنامه‌نویسی، هر عملگر یک اولویت و تقدم اجرا شدن مشخصی داره. اگه توی یک عبارت، بیشتر از یک عملگر وجود داشته باشه، عبارت براساس اولویت عملگرها اجرا میشه.

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

۱. عملگرهایی که فقط یک عملوند دارن مثل Increment و Unary Plus بالاترین تقدم رو دارن:

let x = 10;

5 + <<++x>>; // 5 + 11

۲. عملگر توان تقدم بالاتری نسبت به عملگر ضرب داره:

5 * <<2 ** 3>>; // 5 * 8 = 40

۳. ضرب و تقسیم که تقدم یکسانی دارن، تقدم بالاتری نسبت به جمع و تفریق دارن:

20 / 2 * 5; // 10 * 5 = 50

20 + <<2 * 5>>; // 20 + 10 = 30

۴. عملگرهای جمع و تفریق هم تقدم یکسانی دارن:

5 + 9 - 2; // 12

۵. عملگر Assignment یا = اولویت پایین‌تری نسبت به همه این عملگرها داره:

let x = <<5 + 2>>;
// x = 7

می‌تونین لیست کامل از مقدار تقدم اولویت‌ها رو از ببینین.