ترجیح عملگر JavaScript

پیش‌بینی‌کننده‌های عملگر (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

لطفاً به اینجا مراجعه کنید

آموزش:عملگرهای JavaScript

دستورالعمل مرجع:عملگرهای JavaScript