The Boolean
object is an object wrapper for a boolean value.
new Boolean([value])
value
Boolean
object.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.
Boolean.length
Boolean.prototype
Boolean
constructor.While the global Boolean
object contains no methods of its own, it does inherit some methods through the prototype chain:
Boolean
instancesAll Boolean
instances inherit from Boolean.prototype
. As with all constructors, the prototype object dictates instances' inherited properties and methods.
Boolean.prototype.constructor
Boolean
function by default.Boolean.prototype.toSource()
Boolean
object; you can use this string to create an equivalent object. Overrides the Object.prototype.toSource()
method.Boolean.prototype.toString()
"true"
or "false"
depending upon the value of the object. Overrides the Object.prototype.toString()
method.Boolean.prototype.valueOf()
Boolean
object. Overrides the Object.prototype.valueOf()
method.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);
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({});
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. | Draft |
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 | Opera Android | iOS Safari | Samsung Internet |
---|---|---|---|---|---|---|---|
Basic support | Yes | Yes | Yes | Yes | Yes | Yes | ? |
prototype |
Yes | Yes | Yes | Yes | Yes | Yes | ? |
toSource |
No | No | No | Yes | No | No | ? |
toString |
Yes | Yes | Yes | Yes | Yes | Yes | ? |
valueOf |
Yes | Yes | Yes | Yes | Yes | Yes | ? |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean