Bỏ qua để đến nội dung

Comparison & Logical Operators

So sánh hai giá trị và trả về true hoặc false.

Toán tửÝ nghĩaVí dụKết quả
==Bằng (so sánh lỏng)5 == "5"true
===Bằng (so sánh chặt)5 === "5"false
!=Khác (so sánh lỏng)5 != "5"false
!==Khác (so sánh chặt)5 !== "5"true
>Lớn hơn7 > 3true
<Nhỏ hơn3 < 5true
>=Lớn hơn hoặc bằng5 >= 5true
<=Nhỏ hơn hoặc bằng4 <= 2false

Ép kiểu trước khi so sánh — có thể gây bất ngờ:

5 == "5"; // true (string → number)
0 == false; // true (false → 0)
"" == false; // true ("" → 0, false → 0)
null == undefined; // true (quy tắc đặc biệt)
null == 0; // false (null chỉ == undefined)

Chuỗi được so sánh theo thứ tự Unicode (từng ký tự):

"a" < "b"; // true (97 < 98)
"abc" < "abd"; // true
"a" < "B"; // false (97 > 66) — viết hoa có mã nhỏ hơn!
"10" < "9"; // true — so sánh string, không phải number!

Làm việc với giá trị boolean hoặc “truthy/falsy”.

Toán tửÝ nghĩaVí dụKết quả
&&AND (và)true && falsefalse
||OR (hoặc)true || falsetrue
!NOT (phủ định)!truefalse

Trả về giá trị falsy đầu tiên, hoặc giá trị cuối nếu tất cả truthy:

true && "hello"; // "hello"
false && "hello"; // false (dừng ngay)
0 && "hello"; // 0
// Ứng dụng: chạy code khi điều kiện đúng
user && user.save();

ABA && B
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

Toán tử điều kiện (ternary) cho phép viết ngắn gọn câu lệnh if–else dưới dạng biểu thức.

điều_kiện ? giá_trị_nếu_đúng : giá_trị_nếu_sai;
let age = 20;
let access = (age >= 18) ? "Được phép" : "Từ chối";
console.log(access); // "Được phép"

NhómToán tử chínhGhi nhớ
So sánh== === != !== > < >= <=Luôn dùng === / !==
Logic&& || ! ??Short-circuit + nullish coalescing
Điều kiện? :Chỉ cho biểu thức đơn giản