Expressions & Operators (Biểu Thức & Toán Tử)
Chương này giải thích về biểu thức (expressions) và toán tử (operators) trong JavaScript — nền tảng để xử lý mọi phép tính, điều kiện và logic trong ngôn ngữ này.
Nội dung
Phần tiêu đề “Nội dung” Assignment & Arithmetic Toán tử gán, số học và toán tử đơn (unary)
Comparison & Logical Toán tử so sánh, logic và điều kiện (ternary)
Bitwise & Misc Toán tử bitwise, comma, BigInt và string
Biểu thức (Expressions)
Phần tiêu đề “Biểu thức (Expressions)”Biểu thức là bất kỳ đoạn mã nào trả về một giá trị. Giá trị đó có thể là số, chuỗi, boolean, object hoặc undefined.
Biểu thức có tác dụng phụ — làm thay đổi giá trị trong bộ nhớ:
let x = 5; // tạo biến và gán giá trị (tác dụng phụ)x++; // thay đổi giá trị xBiểu thức chỉ tính toán — trả về giá trị mà không thay đổi gì:
2 + 3 // trả về 5Math.max(10, 20) // trả về 20Phân loại toán tử
Phần tiêu đề “Phân loại toán tử”| Nhóm | Toán tử | Mô tả |
|---|---|---|
| Gán | = += -= *= /= %= **= | Lưu giá trị vào biến |
| Số học | + - * / % ** ++ -- | Phép toán cơ bản |
| So sánh | == === != !== > < >= <= | Trả về true / false |
| Logic | && || ! | Kết hợp boolean |
| Điều kiện | ? : | Ternary — rẽ nhánh inline |
| Bitwise | & | ^ ~ << >> >>> | Thao tác bit nhị phân |
| Chuỗi | + += | Nối chuỗi |
| BigInt | + - * / % ** | Số nguyên lớn (n) |
| Đặc biệt | , typeof delete void in instanceof | Các toán tử khác |
| Loại | Số toán hạng | Ví dụ |
|---|---|---|
| Unary (đơn) | 1 | !x, typeof x, ++x |
| Binary (nhị) | 2 | a + b, x === y |
| Ternary (tam) | 3 | a ? b : c |
Thứ tự ưu tiên (Precedence)
Phần tiêu đề “Thứ tự ưu tiên (Precedence)”Khi nhiều toán tử xuất hiện trong cùng biểu thức, JavaScript dùng thứ tự ưu tiên để quyết định thứ tự tính toán:
let x = 2 + 3 * 4; // 14, không phải 20 → * ưu tiên hơn +let y = (2 + 3) * 4; // 20 → () buộc + chạy trước| Ưu tiên (cao → thấp) | Toán tử |
|---|---|
| 1. Nhóm | () |
| 2. Unary | ! typeof ++ -- + - |
| 3. Lũy thừa | ** |
| 4. Nhân / Chia | * / % |
| 5. Cộng / Trừ | + - |
| 6. Dịch bit | << >> >>> |
| 7. So sánh | < > <= >= instanceof in |
| 8. Bằng | == != === !== |
| 9. Bitwise AND | & |
| 10. Bitwise XOR | ^ |
| 11. Bitwise OR | | |
| 12. Logic AND | && |
| 13. Logic OR | || |
| 14. Nullish | ?? |
| 15. Ternary | ? : |
| 16. Gán | = += -= … |
| 17. Comma | , |