Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách chuyển Boolean thành Integer (số nguyên) trong JavaScript?

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áchCodeƯu điểm
Number()Number(bool)Rõ ràng, semantic, dễ đọc
Unary ++boolNgắn gọn, nhanh
Ternarybool ? 1 : 0Tùy chỉnh giá trị (không chỉ 0/1)
Bitwisebool | 0Nhanh, 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.