The Boolean object is an object wrapper for a boolean value.


new Boolean(value)


The initial value of the Boolean object.


The value passed as the first parameter is converted to a boolean value, if necessary. If value is omitted or is 0, -0, null, false, NaN, undefined, or the empty string (""), the object 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 whose 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:

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:

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:

x = Boolean(expression);     // preferred
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.

myFalse = new Boolean(false);   // initial value of false
g = new Boolean(myFalse);       // initial value of true
myString = new String("Hello"); // string object
s = new Boolean(myString);      // initial value of true

Do not use a Boolean object in place of a Boolean primitive.


For properties available on Boolean instances, see Properties of Boolean instances.

Length property whose value is 1.
Represents the prototype for the Boolean constructor.

Properties inherited from Function:


For methods available on Boolean instances, see Methods of Boolean instances.

The global Boolean object contains no methods of its own, however, it does inherit some methods through the prototype chain:

Methods inherited from Function:

Boolean instances

All Boolean instances inherit from Boolean.prototype. As with all constructors, the prototype object dictates instances' inherited properties and methods.


Returns the function that created an instance's prototype. This is the Boolean function by default.
Properties inherited from Object:


Returns a string containing the source of the Boolean object; you can use this string to create an equivalent object. Overrides the Object.prototype.toSource() method.
Returns a string of either "true" or "false" depending upon the value of the object. Overrides the Object.prototype.toString() method.
Returns the primitive value of the Boolean object. Overrides the Object.prototype.valueOf() method.


Creating Boolean objects with an initial value of false

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

Creating Boolean objects with an initial value of true

var btrue = new Boolean(true);
var btrueString = new Boolean("true");
var bfalseString = new Boolean("false");
var bSuLin = new Boolean("Su Lin");


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

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) 6.0 (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

See also

Document Tags and Contributors

 Contributors to this page: Sevenspade
 Last updated by: Sevenspade,