Boolean

Loại dữ liệu gốc boolean là một loại dữ liệu logic chỉ có hai giá trị: truefalse.

Đố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?

Chuỗi trống
0
null
"none"