此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Boolean() 构造函数

基线 广泛可用

自 2015年7月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

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

尝试一下

const flag = new Boolean();

console.log(flag);
// Expected output: false

语法

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

规范

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

浏览器兼容性

参见