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

Control Flow (Luồng Điều Khiển)

Control flow (luồng điều khiển) là cách JavaScript quyết định chạy lệnh nào, khi nào, và bao lâu. Mặc định, code chạy từ trên xuống dưới (tuần tự), nhưng các cấu trúc điều khiển cho phép bạn thay đổi luồng đó.



Quyết định nhánh nào sẽ chạy dựa trên điều kiện:

Cấu trúcMô tảKhi nào dùng
if / elseRẽ nhánh theo boolean (truthy/falsy)Điều kiện phức tạp, ít case
switchChọn nhánh theo giá trị (===)Nhiều case rời rạc cùng 1 biến
? :Toán tử 3 ngôi — biểu thứcGán giá trị theo điều kiện đơn giản
&& || ??Short-circuit evaluationGuard clauses, fallback

Code chạy tuần tự (trên → dưới)
├─ Rẽ nhánh? ──→ if/else, switch, ? :
├─ Lặp? ───────→ for, while, do...while
├─ Lỗi? ───────→ throw → catch → finally
└─ Tiếp tục tuần tự...

const score = 84;
if (score >= 90) {
console.log("A");
} else if (score >= 80) {
console.log("B"); // ← chạy
} else {
console.log("C or below");
}

Guard Clause

Return sớm để tránh lồng if quá sâu:

function process(user) {
if (!user) return;
if (!user.active) return;
// logic chính ở đây...
}

Object Lookup

Thay switch bằng object cho gọn:

const actions = {
admin: () => "Full access",
editor: () => "Edit access",
};
const result = (actions[role] ?? (() => "Read only"))();