Operator Precedence
1️⃣ تعریف Operator Precedence (اولویت عملگرها)
در جاوااسکریپت، عملگرها اولویت اجرای متفاوتی دارند. یعنی بعضی عملگرها قبل از بقیه محاسبه میشوند.
-
میتوان با پرانتز
()
اولویت را تغییر داد.
2️⃣ جدول اولویت عملگرها
رتبه | عملگرها | توضیح |
---|---|---|
۱ | () | پرانتز – ابتدا اجرا میشود |
۲ | ++ , -- , + , - , ~ , ! | عملگرهای پیشافزایشی، پیشکاهشی، مثبت و منفی، NOT |
۳ | ** | توان |
۴ | * , / , % | ضرب، تقسیم، باقیمانده |
۵ | + , - | جمع و تفریق |
۶ | << , >> , >>> | شیفت بیتی |
۷ | < , <= , > , >= , in , instanceof | مقایسه |
۸ | == , != , === , !== | برابر و نامساوی |
۹ | & | AND بیتی |
۱۰ | ^ | XOR بیتی |
۱۱ | ` | ` |
۱۲ | && | AND منطقی |
۱۳ | ` | |
۱۴ | ?? | Nullish coalescing |
۱۵ | ? : | شرطی (ternary) |
۱۶ | = , += , -= , *= , /= , %= ... | Assignment operators |
۱۷ | , | عملگر کاما (اجرا از چپ به راست) |
3️⃣ مثالهای عملی
4️⃣ نکات مهم
-
پرانتز سادهترین راه برای کنترل اولویت عملگرها است.
-
عملگرهای ریاضی معمولاً از بالا به پایین: توان → ضرب/تقسیم → جمع/تفریق.
-
عملگرهای منطقی:
!
→&&
→||
→??
. -
هنگام ترکیب Assignment با سایر عملگرها، ابتدا محاسبه سمت راست انجام میشود و سپس نتیجه به متغیر اختصاص داده میشود: