Thứ tự thực thi phép toán (operator precedence) trong Javascript xác định thứ tự các phép toán được thực hiện trong một biểu thức. Điều này rất quan trọng để đảm bảo biểu thức được tính toán chính xác.
Dưới đây là một số điểm quan trọng cần nhớ về thứ tự thực thi phép toán trong Javascript:
- Phép nhân (*) và phép chia (/) có ưu tiên cao hơn phép cộng (+) và phép trừ (-). Nghĩa là, phép nhân và phép chia sẽ được thực hiện trước.
- Ví dụ:
let x = 100 + 50 * 3; // x sẽ bằng 250
- Khi sử dụng dấu ngoặc, các phép toán bên trong dấu ngoặc sẽ được tính trước so với các phép toán bên ngoài.
- Ví dụ:
let x = (100 + 50) * 3; // x sẽ bằng 450
- Các phép toán có cùng thứ tự ưu tiên (như * và /) sẽ được thực hiện từ trái sang phải.
- Ví dụ:
let x = 100 / 50 * 3; // x sẽ bằng 6
Bảng tóm tắt thứ tự thực thi phép toán:
Thứ tự | Phép toán | Ví dụ |
---|---|---|
1 | Phân nhóm biểu thức | (100 + 50) * 3 |
2 | Lấy thuộc tính | person.name |
3 | Gọi hàm | myFunction() |
4 | Tạo đối tượng | new Date() |
5 | Tăng giảm sau (postfix) | i++ |
5 | Tăng giảm trước (prefix) | ++i |
6 | NOT logic | !(x==y) |
7 | NOT bitwise | ~x |
8 | Cộng trừ đơn | +x , -x |
9 | Kiểu dữ liệu | typeof x |
10 | Void | void(0) |
11 | Xóa thuộc tính | delete myCar.color |
12 | Lũy thừa | 10 ** 2 |
13 | Nhân chia | 10 * 5 , 10 / 5 |
14 | Chia lấy dư | 10 % 5 |
15 | Cộng | 10 + 5 |
16 | Trừ | 10 - 5 |
17 | Nối chuỗi | "John" + "Doe" |
18 | Dịch bit sang trái | x << 2 |
18 | Dịch bit sang phải (có dấu) | x >> 2 |
18 | Dịch bit sang phải (không dấu) | x >>> 2 |
19 | So sánh | x < y , x <= y , x > y , x >= y |
20 | Bằng | x == y , x === y |
20 | Khác | x != y , x !== y |
21 | AND bitwise | x & y |
22 | XOR bitwise | x ^ y |
23 | OR bitwise | `x |
24 | AND logic | x && y |
25 | OR logic | `x |
26 | Nullish coalescing | x ?? y |
27 | Toán tử điều kiện (ternary) | x ? "yes" : "no" |
28 | Toán tử gán | x = y |
28 | Toán tử gán với toán tử khác | x += y , x -= y , x *= y |
Lưu ý:
- Bảng trên chỉ là một tóm tắt, có một số ngoại lệ và các trường hợp đặc biệt.
- Luôn tham khảo tài liệu chính thức của Javascript để biết chính xác thứ tự thực thi phép toán trong từng trường hợp.
Hy vọng giải thích này giúp bạn hiểu rõ hơn về thứ tự thực thi phép toán trong Javascript.