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

Conditional Statements (Câu Lệnh Điều Kiện)

if...else là cấu trúc rẽ nhánh quen thuộc nhất — dùng để rẽ nhánh dựa trên biểu thức boolean (truthy/falsy). Bạn có thể xâu chuỗi else if để bao phủ nhiều điều kiện.


if (condition) {
// chạy khi condition là truthy
}

const score = 84;
if (score >= 90) {
console.log("A");
} else if (score >= 80) {
console.log("B"); // ← "B" (84 >= 80)
} else if (score >= 70) {
console.log("C");
} else {
console.log("F");
}


Dùng cho biểu thức đơn giản thay vì khối if...else:

const age = 17;
const canVote = age >= 18 ? "Yes" : "No"; // "No"

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

const user = { name: "An" };
user && console.log(user.name); // "An" — chỉ chạy nếu user tồn tại
0 && "hello"; // 0 (falsy đầu tiên)
1 && "hello"; // "hello" (tất cả truthy → giá trị cuối)

switch chọn nhánh theo giá trị (so sánh ===). Hữu ích khi có nhiều case rời rạc cùng kiểm tra một biến.


switch (expression) {
case value1:
// chạy khi expression === value1
break;
case value2:
// chạy khi expression === value2
break;
default:
// chạy nếu không khớp case nào
}

const role = "admin";
switch (role) {
case "admin":
console.log("Full access");
break;
case "editor":
console.log("Edit access");
break;
case "viewer":
console.log("Read only");
break;
default:
console.log("Unknown role");
}


function getDiscount(tier) {
switch (tier) {
case "gold": return 0.2;
case "silver": return 0.1;
case "bronze": return 0.05;
default: return 0;
}
}

Cấu trúcMô tảBest Practice
if...elseRẽ nhánh booleanƯu tiên guard clause (return sớm)
switchRẽ nhánh theo giá trị ===Luôn break/return mỗi case
? :Biểu thức điều kiệnKhông lồng sâu > 1 tầng
&& / ||Short-circuitDùng cho check nhanh / fallback
??Nullish coalescingThay || khi 0/"" là giá trị hợp lệ