Một số toán tử quan trọng
- Toán tử cơ bản: +, -, *, /, %
- Toán tử so sánh: >, <,>=, ==, ===
- Toán tử ba ngôi (?)
- Toán tử logic: ||, &&, !, ??
1. Toán tử cơ bản: +, -, *, /, %
Nói đến toán tử thì chắc chắn không thể thiếu cộng (+), trừ (-), nhân (*), chia (/) rồi nhỉ? Hơi vô tri nhỉ :v, nhưng mà nó cũng quan trọng lắm đấy 🤪.
let a = 10;
let b = 5;
console.log(a + b); // 15
console.log(a - b); // 5
console.log(a * b); // 50
console.log(a / b); // 2
Không biết cái trên thì đừng code nữa nghe, tội đồng nghiệp 😆.
Nhưng có một toán tử đặc biệt hơn tí là %
. Ủa, wtf, đó là dấu phần trăm mà? Không đâu, nó là toán tử chia lấy dư. Thử xem nó hoạt động thế nào nhé:
let x = 6;
let y = 5;
console.log(x % y); // 1
Là sao nhỉ? Sao 6 chia 5 lại bằng 1? Đơn giản, ở đây có nghĩa là 6 chia 5 dư 1, và 1 chính là kết quả chia lấy dư. Hiểu chưa? Không hiểu cũng phải hiểu nhé 🤪.
Lưu ý nhỏ: Toán tử +
còn dùng để nối chuỗi nhé:
let greeting = "Hello " + "World!";
console.log(greeting); // "Hello World!"
2. Toán tử so sánh: >, <,>=, ==, ===
Đây là những toán tử dùng để so sánh hai giá trị, luôn trả về kết quả dạng Boolean (true
hoặc false
), không có nửa vời đâu nhé!
console.log(10 > 5); // true
console.log(10 < 5); // false
console.log(10 >= 10); // true
Còn ==
và ===
? Với các kiểu dữ liệu nguyên thủy (number, string, boolean), ==
so sánh giá trị, còn ===
so sánh cả giá trị và kiểu dữ liệu:
console.log(5 == "5"); // true
console.log(5 === "5"); // false
Nhưng nếu dễ vậy thì chẳng nói làm gì! Với object, ==
và ===
so sánh vị trí ô nhớ, không phải giá trị:
let obj1 = { value: 1 };
let obj2 = { value: 1 };
console.log(obj1 == obj2); // false
console.log(obj1 === obj2); // false
Lưu ý này quan trọng khi phỏng vấn nhé, ghi điểm ngay! 😎 Và đừng quên so sánh undefined
hay null
:
console.log(null == undefined); // true
console.log(null === undefined); // false
3. Toán tử ba ngôi (?)
Toán tử ba ngôi là cách viết ngắn gọn cho if...else
. Cú pháp: condition ? value1 : value2
. Nếu condition
đúng, trả về value1
, sai thì trả về value2
.
let age = 20;
let status = age >= 18 ? "Người lớn" : "Trẻ em";
console.log(status); // "Người lớn"
Đơn giản mà mạnh mẽ, giúp thay thế các if...else
cơ bản!
4. Toán tử logic
4.1 Toán tử OR (||)
Toán tử ||
trả về true
nếu ít nhất một toán hạng là true
, ngược lại trả về false
.
console.log(true || false); // true
console.log(false || false); // false
Cách hoạt động:
- Thực hiện từ trái sang phải.
- Chuyển toán hạng sang Boolean. Nếu là
true
, trả về giá trị gốc của toán hạng đó và dừng. Nếufalse
, tiếp tục. - Nếu không có giá trị
truthy
, trả về giá trị toán hạng cuối.
4.2 Toán tử AND (&&)
Toán tử &&
trả về true
nếu cả hai toán hạng đều true
, ngược lại trả về false
.
console.log(true && false); // false
console.log(true && true); // true
Cách hoạt động:
- Thực hiện từ trái sang phải.
- Chuyển toán hạng sang Boolean. Nếu là
false
, trả về giá trị gốc của toán hạng đó và dừng. Nếutrue
, tiếp tục. - Nếu không có giá trị
falsy
, trả về giá trị toán hạng cuối.
Ví dụ:
let user = { name: "John" };
let result = user && user.name;
console.log(result); // "John"
4.3 Toán tử NOT (!)
Toán tử !
đảo ngược giá trị Boolean: true
thành false
và ngược lại.
console.log(!true); // false
console.log(!false); // true
Chẳng có gì để cãi nữa, đơn giản mà! 🥸
4.4 Toán tử Nullish Coalescing (??)
Toán tử ??
trả về toán hạng bên phải nếu bên trái là null
hoặc undefined
, nếu không thì trả về bên trái.
let a = null;
let b = "default";
let result = a ?? b;
console.log(result); // "default"
Đây là những toán tử mình thấy quan trọng nhất. Bạn biết thêm toán tử nào hay ho? Comment cho mình nhé!