JavaScript Boolean()
The Boolean() constructor creates boolean values or Boolean objects.
Booleans are normally primitive values.
The new Boolean() constructor creates Boolean objects.
Syntax
Boolean()
Boolean(value)
new Boolean()
new Boolean(value)
Parameters
| Parameter | Description |
|---|---|
| value | Optional. A value to convert to true or false. |
Return Value
| Call | Returns |
|---|---|
Boolean(value) |
A primitive boolean |
new Boolean(value) |
A Boolean object |
Boolean() vs new Boolean()
Calling Boolean() converts a value to a primitive boolean.
Calling new Boolean() creates a Boolean object.
Example
let a = Boolean(1);
let b = new Boolean(1);
(typeof a) // boolean
(typeof b) // object
Boolean Conversion
The Boolean() function converts values to true or false.
| Expression | Result |
|---|---|
Boolean(1) |
true |
Boolean(0) |
false |
Boolean("Hello") |
true |
Boolean("") |
false |
Boolean(null) |
false |
Boolean(undefined) |
false |
Boolean(NaN) |
false |
Primitive Booleans
Most JavaScript booleans are primitive values.
Example
let loggedIn = true;
Boolean Objects
The new Boolean() constructor creates Boolean objects.
Boolean objects are rarely needed.
Example
let loggedIn = new Boolean(true);
Primitive vs Object Comparison
| Primitive Boolean | Boolean Object |
|---|---|
true |
new Boolean(true) |
| typeof = boolean | typeof = object |
| Recommended | Rarely needed |
Important Warning
Boolean objects are always truthy.
Example
let x = new Boolean(false);
if (x) {
document.getElementById("demo").innerHTML = "TRUE";
}
This happens because objects are truthy, even when the contained value is false.
Common Methods
toString()valueOf()
Object Hierarchy
Boolean objects inherit from Object.
Object └─ Boolean
| What | Value |
|---|---|
| Constructor Type | Function |
| Creates | Primitive booleans or Boolean objects |
| Inherits From | Object (for Boolean objects) |
| Primitive Type | boolean |
Browser Support
Boolean() is an ECMAScript1 (JavaScript 1997) feature.
It is supported in all browsers:
| Chrome | Edge | Firefox | Safari | Opera |