سلام دوستان! حالا که تونستیم با مهمترین عملگرهای جاوااسکریپت آشنا بشیم، میخوایم ببینیم کدوم عملگرها اولویت و تقدم بالاتری نسبت به بقیه عملگرها دارن. مثلاً اگه توی یک عبارت، هم عملگر ضرب وجود داشته باشه و هم عملگر جمع، میخوایم بدونیم جاوااسکریپت اول به کدوم عملگر میپردازه.
موارد زیر رو توی این قسمت یاد میگیریم:
تقدم عملگرها چیه؟ 🤔
کد زیر رو در نظر بگیرین:
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
میتونین لیست کامل از مقدار تقدم اولویتها رو از ببینین.