Operator
Duy Văn | 05/02/2025
Operator có tổng cộng 8 loại:
- Arithmetic - Toán tử số học
- Assignment - Gán giá trị
- Comparison - So sánh
- Logical - Logic
- Bitwise - Bit
- String - Chuỗi
- Conditional (Ternary) - Điều kiện
- Type - Kiểu
Arithmetic
Operator này dùng để thực hiện các phép toán số học : cộng, trừ, nhân, chia, luỹ thừa, chia lấy module, tăng, giảm
| Operator | Description |
|---|---|
+ | Cộng 5 + 2 = 7 |
- | Trừ 5 - 2 = 3 |
* | Nhân 5 * 2 = 10 |
/ | Chia 5 / 2 = 2.5 |
% | Chia lấy dư 5 % 2 = 1 |
++ | Tăng 1 x++ |
-- | Giảm 1 x-- |
Ví dụ:
let a = 5, b = 2;
console.log(`Addition (5 + 2) = ${a + b}`); // 7
console.log(`Subtraction (5 - 2) = ${a - b}`); // 3
console.log(`Multiplication (5 * 2) = ${a * b}`); // 10
console.log(`Division (5 / 2) = ${a / b}`); // 2.5
console.log(`Modulus (5 % 2) = ${a % b}`); // 1
let x = 5;
console.log(`Increment x++ = ${x++}`); // 6
let y = 5;
console.log(`Decrement y-- = ${y--} `); // 4
Kết quả ví dụ
Addition (5 + 2) = 7
Subtraction (5 - 2) = 3
Multiplication (5 * 2) = 10
Division (5 / 2) = 2.5
Modulus (5 % 2) = 1
Increment x++ = 5
Decrement y-- = 5
Cụ thể hơn, xem ở đây
Assignment
Operator này để dùng cho việc gán giá trị cho biến, nó cũng có thể kết hợp với các operator arithmetics để rút gọn cú pháp, ví dụ như += sẽ thêm giá trị vào biến
| Operator | Example | Same As |
|---|---|---|
= | x = y | x = y |
+= | x += y | x = x + y |
-= | x -= y | x = x - y |
*= | x *= y | x = x * y |
/= | x /= y | x = x / y |
%= | x %= y | x = x % y |
**= | x **= y | x = x ** y |
Cụ thể hơn, xem ở đây
Comparison
Operator này dùng để so sánh giữa 2 giá trị, kết quả trả về là dạng boolean true hoặc false
| Operator | Description |
|---|---|
== | Bằng |
=== | Bằng và cùng kiểu dữ liệu |
!= | Không bằng |
!== | Không bằng hoặc khác kiểu dữ liệu |
> | Lớn hơn |
< | Nhỏ hơn |
>= | Lớn hơn hoặc bằng |
<= | Nhỏ hơn hoặc bằng |
Logical
Operator này dùng để thực hiện các phép toán logic, kết quả trả về là dạng boolean true hoặc false và sử dụng với các giá trị boolean để cho ra kết quả cuối cùng
| Operator | Description |
|---|---|
&& | AND |
|| | OR |
! | NOT |
Bitwise
Operator này dùng để thực hiện các phép toán bit, nó sẽ chuyển số sang dạng bit và thực hiện các phép toán trên bit
| Operator | Description | Example | Same as | Result | Decimal |
|---|---|---|---|---|---|
& | AND | 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | ~5 | ~0101 | 1010 | 10 |
^ | XOR | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | Left shift | 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Right shift | 5 >> 1 | 0101 >> 1 | 0010 | 2 |
>>> | Zero fill right shift | 5 >>> 1 | 0101 >>> 1 | 0010 | 2 |
String
Đối với String, có 2 operator chính:
+: Dùng để nối chuỗi+=: Dùng để nối chuỗi và gán giá trị đồng thời, rút gọn cú pháp
Ví dụ:
let a = "Hello", b = "World";
console.log(a + " " + b); // Hello World
a += " " + b;
console.log(a); // Hello World
Nếu cố tình nối chữ và số như 5 + "5" thì kết quả sẽ là 55 do JS tự động chuyển số sang chuỗi
Conditional (Ternary)
Operator này dùng để thực hiện phép so sánh và trả về giá trị tùy thuộc vào kết quả của phép so sánh
| Operator | Description |
|---|---|
? | Conditional |
: | Ternary |
Ví dụ:
let a = 5, b = 2;
let result = (a > b) ? "a is greater than b" : "a is less than b";
console.log(result); // a is greater than b
Về cơ bản là một phiên bản siêu rú gọn của if else so sánh
Type
Operator này dùng để kiểm tra kiểu dữ liệu của biến, có hai loại
typeof: Kiểm tra kiểu dữ liệu, trả ra kiểu dữ liệu của biếninstanceof: Kiểm tra kiểu dữ liệu của đối tượng với kiểu dữ liệu đã biết, trả ratruehoặcfalse
Ví dụ:
let a = 5, b = "Hello";
console.log(typeof a); // number
console.log(typeof b); // string
let c = new Number(5);
let d = new String("Hello");
console.log(c instanceof Number);
console.log(d instanceof String);