مستوى الأولوية لمحولات JavaScript

课程推荐:

优先级描述了在算术表达式中操作的执行顺序。

实例

在传统数学中,乘法先执行:

let x = 100 / 50 * 3;

let x = 100 + 50 * 3;

使用括号时,括号内的操作先计算:

let x = 100 / 50 * 3;

let x = (100 + 50) * 3;

当运算符具有相同的优先级(如 + 和 -),它们从左到右计算:

let x = 100 / 50 * 3;

亲自试一试

运算符优先级值قبل括号内的表达式

其余表达式计算。函数在结果用于其余表达式تنفيذ.

之前 运算符 描述
例子 ( ) 表达式分组 (100 + 50) * 3
17 . 成员 car.name
17 [] 成员 car["name"]
17 ?. 可选链 ES2020 x ?. y
17 () 函数调用 myFunction()
17 new 带参数的新建 new Date("June 6,2025")
16 new 无参数的新建 new Date()

递增运算符

后缀递增قبل前缀递增执行。

15 ++ 后缀递增 i++
15 -- 后缀递减 i--
14 ++ 前缀递增 ++i
14 -- 前缀递减 --i

NOT 运算符

14 ! 逻辑 NOT !{x==y}
14 ~ NOT ~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 += 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 &= موضع AND تعيين x &= y
2 |= موضع OR تعيين x |= y
2 ^= assignment by bitwise XOR x ^= y
2 &= assignment by logical AND x &= y
2 ||= assignment by logical OR x ||= y
2 : assignment by colon x : 5
2 => الarrow x => y
2 yield التوقف/الاستئناف yield x
2 yield* التفويض yield* x
2 ... التوسيع ...x
1 , الcomma x , y