Boolean对象是一个布尔值的对象包装器。

语法

new Boolean([value])

参数

value
 可选的。Boolean对象的初始值。

描述

如果需要,作为第一个参数传递的值将转换为布尔值。如果参数是 0-0nullfalseNaNundefined,或者空字符串 (""),生成的Boolean对象的值为false。其他任何值,包括任何对象或者字符串"false",都会创建一个值为trueBoolean对象。

不要将原始Booleantruefalse,与值为truefalseBoolean对象相混淆。

任何值不为 undefined或者null的对象,包括值为falseBoolean对象,在条件语句中,其值都将作为true来判断。例如,下面的if 语句中,if就将对象x看作是true:

var x = new Boolean(false);
if (x) {
  // . . . 这里的代码仍会被执行
}

Boolean原始值不会有这种表现。例如,下面的条件结构中,if语句的内部代码不会被执行:

var x = false;
if (x) {
  // . . . 这里的代码不会被执行
}

不要通过新建Boolean对象的方法来将一个非布尔值转化成布尔值。直接使用Boolean函数才是正确的:

var x = Boolean(expression);     // 这样用
var x = new Boolean(expression); // 而不要这样!

如过你用一个对象作为Boolean对象的初始化值,则即使该对象是个值为falseBoolean对象,生成的Boolean对象的值也是true

var myFalse = new Boolean(false);   // 初始化值为false
var g = new Boolean(myFalse);       // 初始化值为true
var myString = new String("Hello"); // string 对象
var s = new Boolean(myString);      // 初始化值为true

不要在该使用Boolean原始值的地方使用Boolean对象。

属性

Boolean.length
长度属性,值为 1。
Boolean.prototype
代表Boolean构造器的原型。

方法

Boolean构造函数自身没有任何方法,不过它从自己的原型链上继承了一些方法:

Boolean 实例

所有Boolean实例都继承于Boolean.prototype。其他所有的构造函数也同样,构造函数的原型对象控制着自己的对象实例所继承的属性和方法。

属性

Boolean.prototype.constructor
返回创建了实例原型的函数。默认为Boolean函数。

方法

Boolean.prototype.toSource()
返回包含Boolean对象源码的字符串;你可以使用这个字符串来创建一个等价的对象。覆盖了Object.prototype.toSource() 方法。
Boolean.prototype.toString()
根据对象的值来返回一个字符串:"true""false"。覆盖了 Object.prototype.toString() 方法。
Boolean.prototype.valueOf()
返回Boolean对象的原始值。覆盖了 Object.prototype.valueOf() 方法。

示例

创建初始值为falseBoolean对象

var bNoParam = Boolean();
var bZero = Boolean(0);
var bNull = Boolean(null);
var bEmptyString = Boolean("");
var bUndefined = Boolean(undefined);
var bfalse = Boolean(false);

创建初始值为trueBoolean对象

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

规范

Specification Status Comment
ECMAScript 1st Edition (ECMA-262) Standard Initial definition. Implemented in JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
Boolean
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Boolean
Standard  
ECMAScript Latest Draft (ECMA-262)
Boolean
Living Standard  

浏览器兼容

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes Yes Yes Yes Yes
prototype Yes Yes Yes Yes Yes Yes
toSource No No Yes No No No
toString Yes Yes Yes Yes Yes Yes
valueOf Yes Yes Yes Yes Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic support Yes Yes Yes Yes Yes Yes Yes
prototype Yes Yes Yes Yes Yes Yes Yes
toSource No No No Yes No No No
toString Yes Yes Yes Yes Yes Yes Yes
valueOf Yes Yes Yes Yes Yes Yes Yes

相关链接

文档标签和贡献者

 最后编辑者: zhangchen,