Trong JavaScript, biến Boolean chỉ có 2 giá trị: true (đúng) và false (sai). Bạn khai báo bằng từ khóa var, let hoặc const (khuyến nghị dùng let/const từ ES6).
Cú pháp cơ bản
var isActive = true;
let hasPermission = false;
const IS_ADMIN = true;
Các cách tạo giá trị Boolean
1. Giá trị literal trực tiếp
var a = true;
var b = false;
2. Kết quả của biểu thức so sánh/logic
var isAdult = age >= 18; // true/false
var hasAccess = user && user.role === 'admin'; // true/false
var isEmpty = arr.length === 0; // true/false
3. Ép kiểu với Boolean() (hàm, không dùng new)
Boolean(1); // true
Boolean(0); // false
Boolean("hello"); // true
Boolean(""); // false
Boolean(null); // false
Boolean(undefined); // false
Boolean({}); // true (object rỗng vẫn truthy)
Boolean([]); // true (mảng rỗng vẫn truthy)
4. Toán tử phủ định kép !! (thông dụng)
!!"hello"; // true
!!0; // false
!!null; // false
Ví dụ tương tác
<!DOCTYPE html>
<html>
<body>
<p>35 > 20</p>
<button onclick="checkBoolean()">Kiểm tra kết quả</button>
<p id="result"></p>
<script>
function checkBoolean() {
var comparison = 35 > 20; // true
document.getElementById("result").innerHTML =
"Kết quả: " + comparison + " (kiểu: " + typeof comparison + ")";
}
</script>
</body>
</html>
Bảng giá trị Truthy / Falsy
| Falsy (→ false) | Truthy (→ true) |
|---|---|
false | true |
0, -0, 0n | Số khác 0 |
"", '', `` | Chuỗi không rỗng |
null | Object/Array (kể cả rỗng) |
undefined | function() {} |
NaN | Symbol() |
Lưu ý
- Không dùng
new Boolean()– nó tạo object, gây bug logic (xem bài trước). - Dùng
let/constthay vìvarđể tránh hoisting gây nhầm lẫn. - Toán tử
===so sánh cả kiểu và giá trị, an toàn hơn==.