ميزة الأولوية في العمليات الحسابية جافا سكربت
- الصفحة السابقة تعبيرات النمط 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 |
عمليات غير |
|||
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 | ? : | الشرط | ? "yes" : "no" |
وظيفة التخصيصتت�行ر الجمعية بعد الأعمال الأخرى. |
|||
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 | , | الcomma | x , y |
- الصفحة السابقة تعبيرات النمط JS
- الصفحة التالية استثناءات JS