Boolean() 构造函数

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.

Boolean() 构造函数可以创建 Boolean 对象或返回布尔类型的原始值。

尝试一下

语法

js
new Boolean(value)
Boolean(value)

备注: 调用 Boolean() 时可以使用或不使用 new,但是效果不同。参见返回值部分。

参数

value

Boolean 对象的初始值。

返回值

Boolean() 作为构造函数调用时(使用 new),将创建 Boolean 对象,它不是一个原始值。

Boolean() 作为普通函数调用时(不使用 new),它将参数强制转换为布尔原始值。

警告: 你会发现你很少会使用到 Boolean 构造函数。

描述

作为第一个参数传递的值被转换为布尔值 。如果该值被省略或为 0-00nnullfalseNaNundefined 或空字符串(""),那么该对象的初始值为 false。所有其他的值,包括任何对象、空数组([])或字符串 "false",都会创建一个初始值为 true 的对象。

备注: 当非标准属性 document.all 被用作该构造函数的参数时,结果是一个值为 falseBoolean 对象。这个属性是遗留的和非标准的,不应该被使用。

示例

使用初始值 false 创建 Boolean 对象

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

请注意,用 Boolean()Boolean 对象转换为原始值的结果总是 true,即使该对象的值为 false。因此,总是建议避免构造 Boolean 包装对象。

如果你需要从包装对象中取出原始值,不要使用 Boolean() 函数,而是使用对象的 valueOf() 方法。

js
const bfalse = new Boolean(false);

bfalse.valueOf(); // false

使用初始值 true 创建 Boolean 对象

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({});

规范

Specification
ECMAScript Language Specification
# sec-boolean-constructor

浏览器兼容性

BCD tables only load in the browser

参见