Boolean() constructor

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Hàm tạo Boolean() tạo ra các đối tượng Boolean. Khi được gọi như một hàm thông thường, nó trả về các giá trị nguyên thủy kiểu Boolean.

Try it

const flag = new Boolean();
console.log(typeof flag);
// Expected output: object
console.log(flag === false);
// Expected output: false

const flag2 = Boolean();
console.log(typeof flag2);
// Expected output: boolean
console.log(flag2 === false);
// Expected output: true

Cú pháp

js
new Boolean(value)
Boolean(value)

Note: Boolean() có thể được gọi có hoặc không có new, nhưng với các hiệu ứng khác nhau. Xem Giá trị trả về.

Tham số

value

Giá trị ban đầu của đối tượng Boolean.

Giá trị trả về

Khi Boolean() được gọi như một hàm (không có new), nó trả về value chuyển đổi thành boolean nguyên thủy.

Khi Boolean() được gọi như một hàm tạo (với new), nó ép buộc value thành boolean nguyên thủy và trả về một đối tượng Boolean bao bọc, không phải là nguyên thủy.

Warning: Bạn hiếm khi cần sử dụng Boolean như một hàm tạo.

Mô tả

Giá trị được truyền vào tham số đầu tiên được chuyển đổi thành giá trị boolean. Nếu giá trị bị bỏ qua hoặc là 0, -0, 0n, null, false, NaN, undefined, hoặc chuỗi rỗng (""), thì đối tượng có giá trị ban đầu là false. Tất cả các giá trị khác, kể cả bất kỳ đối tượng nào, mảng rỗng ([]), hoặc chuỗi "false", đều tạo ra đối tượng với giá trị ban đầu là true.

Note: Khi thuộc tính phi tiêu chuẩn document.all được sử dụng làm đối số cho hàm tạo này, kết quả là đối tượng Boolean với giá trị false. Thuộc tính này là kế thừa, phi tiêu chuẩn và không nên được sử dụng.

Ví dụ

Tạo đối tượng Boolean với giá trị ban đầu là false

js
const bZero = new Boolean(0);
const bNull = new Boolean(null);
const bEmptyString = new Boolean("");
const bfalse = new Boolean(false);

typeof bfalse; // "object"
Boolean(bfalse); // true

Lưu ý cách chuyển đổi đối tượng Boolean thành nguyên thủy bằng Boolean() luôn trả về true, ngay cả khi đối tượng giữ giá trị false. Do đó bạn luôn nên tránh xây dựng các đối tượng bao bọc Boolean.

Nếu bạn cần lấy giá trị nguyên thủy từ đối tượng bao bọc, thay vì sử dụng hàm Boolean(), hãy sử dụng phương thức valueOf() của đối tượng đó.

js
const bfalse = new Boolean(false);

bfalse.valueOf(); // false

Tạo đối tượng Boolean với giá trị ban đầu là true

js
const btrue = new Boolean(true);
const btrueString = new Boolean("true");
const bfalseString = new Boolean("false");
const bSuLin = new Boolean("Su Lin");
const bArrayProto = new Boolean([]);
const bObjProto = new Boolean({});

Đặc tả

Specification
ECMAScript® 2027 Language Specification
# sec-boolean-constructor

Tương thích trình duyệt

Xem thêm