Định nghĩa
Trả về true nếu ít nhất một toán hạng truthy. Trả về giá trị truthy đầu tiên hoặc toán hạng cuối.
Bảng chân lý
| A | B | A || B |
|---|---|---|
| true | true | true |
| true | false | true |
| false | true | true |
| false | false | false |
Short-circuit
Nếu toán hạng đầu truthy, không đánh giá toán hạng thứ hai.
true || console.log("Không chạy"); // không in
false || console.log("Chạy"); // in "Chạy"
Ứng dụng phổ biến: Giá trị mặc định
function greet(name) {
var displayName = name || "Khách"; // nếu name falsy → "Khách"
console.log("Xin chào " + displayName);
}
greet("An"); // "Xin chào An"
greet(""); // "Xin chào Khách"
greet(null); // "Xin chào Khách"
Lưu ý ES2020: Nullish coalescing (??)
|| coi 0, "", false là "rỗng". Dùng ?? chỉ fallback khi null/undefined:
var count = 0;
count || 10; // 10 (sai ý đồ nếu 0 hợp lệ)
count ?? 10; // 0 (giữ 0)