ترجیح عملگر JavaScript
- صفحه قبل عبارتهای نمونه JS
- صفحه بعدی استثناهای JS
پیشبینیکنندههای عملگر (Operator Precedence) توضیح میدهد که ترتیب اجرای عملگرها در عبارتهای ریاضی چیست.
پیشبینیکنندههای ضرب (*) و تقسیم (/) از پیشبینیکنندههای جمع (+) و تفریق (-) ارجحیت دارند.
مثال
مانند ریاضیات سنتی، ابتدا عملگرهای ضرب محاسبه میشوند:
let x = 100 + 50 * 3;
هنگام استفاده از براکتهای گرد، ابتدا عملگرهای درون براکت محاسبه میشوند:
let x = (100 + 50) * 3;
عملگرهایی که پیشبینیکنندههای یکسان دارند (مانند * و /) از چپ به راست محاسبه میشوند:
let x = 100 / 50 * 3;
مقدار پیشبینیکننده عملگر
عبارتهای درون براکتها قبل از بخشهای دیگر عبارت محاسبه میشوند، و توابع قبل از استفاده از نتایج در بخشهای دیگر عبارت اجرا میشوند:
پیشبینیکننده | عملگر | توضیح | مثال |
---|---|---|---|
18 | ( ) | عبارتهای گروهبندی شده | (100 + 50) * 3 |
17 | . | مفهوم عضو | person.name |
17 | [] | مفهوم عضو | person["name"] |
17 | ?. | چنانی ES2020 | x ?. y |
17 | () | دعوت از تابع | myFunction() |
17 | new | ساخت با پارامتر | new Date("June 5,2022") |
16 | new | ساخت بدون پارامتر | new Date() |
عملگر افزایشافزودن پسبرانه قبل از افزایش پیشبرانه اجرا میشود. |
|||
15 | ++ | افزودن پسبرانه | i++ |
15 | -- | کاهش پسبرانه | i-- |
14 | ++ | افزودن پیشبرانه | ++i |
14 | -- | کاهش پیشبرانه | --i |
عملگر NOT |
|||
14 | ! | نا منطقی | !(x==y) |
14 | ~ | ناکمبیت | ~x |
عملگر یکتایی |
|||
14 | + | افزودن یکتایی | +x |
14 | - | کاهش یکتایی | -x |
14 | typeof | نوع داده | typeof x |
14 | void | ارزیابی خالی | void(0) |
14 | delete | حذف ویژگی | delete myCar.color |
عملگر حسابداریعملگر توان قبل از تکثیر اجرا میشود. تکثیر و تقسیم قبل از جمع و کاهش اجرا میشوند. |
|||
13 | ** | عملگر توان ES2016 | 10 ** 2 |
12 | * | تکثیر | 10 * 5 |
12 | / | تقسیم | 10 / 5 |
12 | % | باقیمانده تقسیم | 10 % 5 |
11 | + | افزودن | 10 + 5 |
11 | - | کاهش | 10 - 5 |
11 | + | پیوستگی | "Bill" + "Gates" |
عملگر جابجایی |
|||
10 | << | جابجایی چپ | x << 2 |
10 | >> | جابجایی (با نشان) | x >> 2 |
10 | >>> | جابجایی (بینشان) | x >>> 2 |
عملگر رابطهای |
|||
9 | in | ویژگی در شیء | "PI" in Math |
9 | instanceof | مثال یک شیء | x instanceof Array |
عملگر مقایسهای |
|||
9 | < | کوچکتر از | x < y |
9 | <= | کوچکتر یا برابر با | x <= y |
9 | > | بزرگتر از | x > y |
9 | >= | بزرگتر یا برابر با | x >= Array |
8 | == | معادل | x == y |
8 | === | معادل سخت | x === y |
8 | != | غیرمعادل | x != y |
8 | !== | غیرمعادل سخت | x !== y |
عملگر بیتای |
|||
7 | & | و بیتای | x & y |
6 | ^ | یا بیتای متفاوت | x ^ y |
5 | | | یا بیتای | x | y |
عملگر منطقی |
|||
4 | && | و منطقی | x && y |
3 | || | یا منطقی | x || y |
3 | ?? | اتصال (مجازات) ارزشهای خالی ES2020 | x ?? y |
شرط (سهگانه) |
|||
2 | ? : | شرطی | ? "بله" : "خیر" |
عملگر تخصیصتخصیص در پس از عملیات دیگر اجرا میشود. |
|||
2 | = | تخصیص ساده | x = y |
2 | : | پیشتر از | x: 5 |
2 | += | افزایش | x += y |
2 | -= | کاهش | x -= y |
2 | *= | تقسیم | x *= y |
2 | **= | مقدار عددی | x **= y |
2 | /= | تقسیم | x /= y |
2 | %= | دسترسی به باقیمانده | x %= y |
2 | <<= | جابجایی به چپ | x <<= y |
2 | >>= | جابجایی به راست | x >>= y |
2 | >>>= | جابجایی به راست بدون نشانه | x >>>= y |
2 | &= | پیشتر از با بیتها | x &= y |
2 | |= | پیشتر از یا بیتها | x |= y |
2 | ^= | پیشتر از یا/یا بیتها | x ^= y |
2 | &&= | پیشتر از منطقی و | x &= y |
2 | ||= | پیشتر از منطقی یا | x ||= y |
2 | => | عملگر شاخه | x => y |
2 | yield | تعلیق / بازیابی | yield x |
2 | yield* | عملگر تفویض | yield* x |
2 | ... | عملگر گسترش | ... x |
1 | , | کاما | x , y |
- صفحه قبل عبارتهای نمونه JS
- صفحه بعدی استثناهای JS