Prioridad toán tử trong JavaScript

运算符优先级(Operator Precedence)描述了算术表达式中运算的执行顺序。

乘法 (*) 和除法 (/) 的优先级高于加法 (+) 和减法 (-)。

实例

与传统数学一样,先进行乘法运算:

let x = 100 + 50 * 3;

亲自试一试

使用圆括号时,先计算圆括号内的运算:

let x = (100 + 50) * 3;

亲自试一试

优先级相同的运算(如 * 和 /)从左到右计算:

let x = 100 / 50 * 3;

亲自试一试

运算符优先级值

括号中的表达式在表达式的其余部分之前计算,函数在结果用于表达式的其余部分之前执行:

优先级 运算符 描述 例子
18 ( ) 表达式分组 (100 + 50) * 3
17 . thuộc thành viên person.name
17 [] thuộc thành viên person["name"]
17 ?. chuỗi tùy chọn ES2020 x ?. y
17 () gọi hàm myFunction()
17 new tạo mới có tham số new Date("June 5,2022")
16 new tạo mới không tham số new Date()

toán tử tăng giảm

toán tử tăng giảm thực hiện trước tiền tố.

15 ++ tăng hậu tố i++
15 -- giảm hậu tố i--
14 ++ tăng tiền tố ++i
14 -- giảm tiền tố --i

toán tử NOT

14 ! không logic !(x==y)
14 ~ chuyển bit không ~x

toán tử một ngôi

14 + thêm một ngôi +x
14 - giảm một ngôi -x
14 typeof kiểu dữ liệu typeof x
14 void đánh giá rỗng void(0)
14 delete xóa thuộc tính delete myCar.color

toán tử toán học

toán tử指数 thực hiện trước nhân.

cộng và trừ thực hiện trước nhân và chia.

13 ** toán tử指数 ES2016 10 ** 2
12 * nhân 10 * 5
12 / chia 10 / 5
12 % dư số chia 10 % 5
11 + thêm 10 + 5
11 - trừ 10 - 5
11 + kết nối "Bill" + "Gates"

toán tử di chuyển bit

10 << chuyển bit trái x << 2
10 >> chuyển bit phải (ký) x >> 2
10 >>> chuyển bit phải (không ký) x >>> 2

toán tử quan hệ

9 in thuộc tính trong đối tượng "PI" in Math
9 instanceof thuộc tính của đối tượng x instanceof Array

toán tử so sánh

9 < nhỏ hơn x < y
9 <= nhỏ hơn hoặc bằng x <= y
9 > lớn hơn x > y
9 >= lớn hơn hoặc bằng x >= Array
8 == bằng x == y
8 === bằng chặt x === y
8 != không bằng x != y
8 !== không bằng chặt x !== y

toán tử bit

7 & và bit x & y
6 ^ khác nhau bit x ^ y
5 | hoặc bit x | y

toán tử logic

4 && và logic x && y
3 || hoặc logic x || y
3 ?? hợp nhất giá trị rỗng ES2020 x ?? y

toán tử (ba trị)

2 ? : điều kiện ? "yes" : "no"

toán tử gán

gán được thực hiện sau các thao tác khác.

2 = gán đơn giản x = y
2 : gán dấu phẩy x: 5
2 += toán tử cộng gán x += y
2 -= toán tử trừ gán x -= y
2 *= toán tử nhân gán x *= y
2 **= toán tử lũy thừa gán x **= y
2 /= toán tử chia gán x /= y
2 %= toán tử lấy phần dư gán x %= y
2 <<= toán tử chuyển động trái gán x <<= y
2 >>= toán tử chuyển động phải gán x >>= y
2 >>>= chuyển động phải không dấu x >>>= y
2 &= toán tử và logic gán x &= y
2 |= toán tử hoặc logic gán x |= y
2 ^= toán tử khác nhau logic gán x ^= y
2 &&= toán tử và logic gán x &= y
2 ||= toán tử hoặc logic gán x ||= y
2 => mũi tên x => y
2 yield tạm dừng / khôi phục yield x
2 yield* toán tử ủy quyền* toán tử ủy quyền* x
2 ... toán tử mở rộng ... x
1 , dấu phẩy x , y

xin xem thêm

hướng dẫn:Toán tử JavaScript

tài liệu tham khảo:Toán tử JavaScript