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

OperatorDescription
+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

OperatorExampleSame As
=x = yx = y
+=x += yx = x + y
-=x -= yx = x - y
*=x *= yx = x * y
/=x /= yx = x / y
%=x %= yx = x % y
**=x **= yx = 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

OperatorDescription
==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

OperatorDescription
&&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

OperatorDescriptionExampleSame asResultDecimal
&AND5 & 10101 & 000100011
|OR5 | 10101 | 000101015
~NOT~5~0101101010
^XOR5 ^ 10101 ^ 000101004
<<Left shift5 << 10101 << 1101010
>>Right shift5 >> 10101 >> 100102
>>>Zero fill right shift5 >>> 10101 >>> 100102

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

OperatorDescription
?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ến
  • instanceof : Kiểm tra kiểu dữ liệu của đối tượng với kiểu dữ liệu đã biết, trả ra true hoặc false

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);