Loại dữ liệu gốc boolean là một loại dữ liệu logic chỉ có hai giá trị: true
và false
.
Đối tượng Boolean
Tất cả giá trị trong JavaScript đều ngầm ẩn là true
hoặc false
. Bạn có thể sử dụng đối tượng Boolean
để buộc một giá trị thành boolean true
hoặc false
, dựa trên trạng thái ngầm ẩn đúng hoặc sai của giá trị đó:
Boolean( "A string literal" );
> true
Các giá trị dẫn đến false
bao gồm 0
, null
, undefined
, NaN
, một chuỗi trống (""
), một giá trị bị bỏ qua và một boolean false
. Tất cả các giá trị khác sẽ dẫn đến true
.
Boolean( NaN );
> false
Boolean( -0 );
> false
Boolean( 5 );
> true
Boolean( "false" ); // the value `"false"` is a string, and therefore implicitly true.
> true
Tránh sử dụng đối tượng Boolean
làm hàm khởi tạo. Phương thức này tạo một đối tượng chứa giá trị boolean, chứ không phải giá trị boolean gốc mà bạn có thể mong đợi:
const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );
console.log( falseBoolean );
> false
console.log( falseObject );
> Boolean { false }
falseObject.valueOf();
> false
Vì tất cả đối tượng vốn đúng, nên đối tượng boolean thu được luôn đánh giá là đúng, ngay cả khi đối tượng đó chứa giá trị false
:
const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );
console.log( falseBoolean == true );
> false
console.log( falseObject == true );
> false
console.log( !!falseObject );
> true
Kiểm tra mức độ hiểu biết
Câu lệnh nào sau đây trả về false
?
0
null
"none"