Chuyển boolean thành số nguyên (0 hoặc 1) bằng nhiều cách:
Cách 1: Toán tử 3 ngôi (Ternary) — Theo ví dụ gốc
var answer = true; var pass_marks = answer ? 90 : 40; // 90
Cách 2: Number() / Unary + (Khuyến nghị — đơn giản nhất)
Number(true) // 1 Number(false) // 0 +true // 1 +false // 0
Cách 3: Nhân với 1
true * 1 // 1 false * 1 // 0
Cách 4: Bitwise OR (| 0)
true | 0 // 1 false | 0 // 0
So sánh
| Cách | Code | Ưu điểm |
|---|---|---|
| Number() | Number(bool) | Rõ ràng, semantic, dễ đọc |
| Unary + | +bool | Ngắn gọn, nhanh |
| Ternary | bool ? 1 : 0 | Tùy chỉnh giá trị (không chỉ 0/1) |
| Bitwise | bool | 0 | Nhanh, nhưng khó hiểu |
Ví dụ thực tế: Đếm số true trong mảng
const flags = [true, false, true, true, false]; const count = flags.reduce((sum, flag) => sum + Number(flag), 0); // count = 3
Khuyến nghị: Dùng Number(bool) hoặc +bool cho chuyển đổi 0/1 chuẩn. Dùng ternary khi cần giá trị tùy chỉnh.