The Boolean
object is an object wrapper for a boolean value.
Syntax
new Boolean([value])
Parameters
value
- Optional. The initial value of the
Boolean
object.
Description
The value passed as the first parameter is converted to a boolean value, if necessary. If the value is omitted or is 0
, -0
, null
, false
, NaN
, undefined
, or the empty string (""
), the object has an initial value of false
. If the DOM object document.all
is passed as a parameter, the new boolean object also has an initial value of false
. All other values, including any object or the string "false"
, create an object with an initial value of true
.
Do not confuse the primitive Boolean
values true
and false
with the true
and false
values of the Boolean
object.
Any object of which the value is not undefined
or null
, including a Boolean
object whose value is false
, evaluates to true
when passed to a conditional statement. For example, the condition in the following if
statement evaluates to true
:
var x = new Boolean(false); if (x) { // this code is executed }
This behavior does not apply to Boolean
primitives. For example, the condition in the following if
statement evaluates to false
:
var x = false; if (x) { // this code is not executed }
Do not use a Boolean
object to convert a non-boolean value to a boolean value. Instead, use Boolean
as a function to perform this task:
var x = Boolean(expression); // preferred var x = new Boolean(expression); // don't use
If you specify any object, including a Boolean
object whose value is false
, as the initial value of a Boolean
object, the new Boolean
object has a value of true
.
var myFalse = new Boolean(false); // initial value of false var g = Boolean(myFalse); // initial value of true var myString = new String('Hello'); // string object var s = Boolean(myString); // initial value of true
Do not use a Boolean
object in place of a Boolean
primitive.
Properties
Boolean.length
- Length property whose value is 1.
Boolean.prototype
- Represents the prototype for the
Boolean
constructor.
Methods
While the global Boolean
object contains no methods of its own, it does inherit some methods through the prototype chain:
Boolean
instances
All Boolean
instances inherit from Boolean.prototype
. As with all constructors, the prototype object dictates instances' inherited properties and methods.
Properties
Boolean.prototype.constructor
- Returns the function that created an instance's prototype. This is the
Boolean
function by default.
Methods
Boolean.prototype.toSource()
- Returns a string containing the source of the
Boolean
object; you can use this string to create an equivalent object. Overrides theObject.prototype.toSource()
method. Boolean.prototype.toString()
- Returns a string of either
"true"
or"false"
depending upon the value of the object. Overrides theObject.prototype.toString()
method. Boolean.prototype.valueOf()
- Returns the primitive value of the
Boolean
object. Overrides theObject.prototype.valueOf()
method.
Examples
Creating Boolean
objects with an initial value of false
var bNoParam = Boolean(); var bZero = Boolean(0); var bNull = Boolean(null); var bEmptyString = Boolean(''); var bfalse = Boolean(false);
Creating Boolean
objects with an initial value of true
var btrue = Boolean(true); var btrueString = Boolean('true'); var bfalseString = Boolean('false'); var bSuLin = Boolean('Su Lin'); var bArrayProto = Boolean([]); var bObjProto = Boolean({});
Specifications
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.0. |
ECMAScript 5.1 (ECMA-262) The definition of 'Boolean' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Boolean' in that specification. |
Standard | |
ECMAScript Latest Draft (ECMA-262) The definition of 'Boolean' in that specification. |
Living Standard |
Browser compatibility
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
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 |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS 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 |