Booleano

El objeto Boolean es un objeto contenedor para un valor booleano.

Descripción

El valor pasado como primer parámetro se convierte en un valor booleano, si es necesario. Si el valor se omite o es 0, -0, null, false, NaN, undefined, o la cadena vacía (""), el objeto tiene un valor inicial de false. Todos los demás valores, incluido cualquier objeto, un arreglo vacío ([]) o la cadena "false", crean un objeto con un valor inicial de true.

No confundas los valores del Boolean primitivo, true y false con los valores true y false del objeto Boolean.

Cualquier objeto cuyo valor no sea undefined o null, incluido un objeto Boolean cuyo valor es false, se evalúa como true cuando se pasa a una declaración condicional. Por ejemplo, la condición en la siguiente declaración if se evalúa como true:

var x = new Boolean(false);
if (x) {
  // este código se ejecuta
}

Este comportamiento no se aplica a los Boolean primitivos. Por ejemplo, la condición en la siguiente instrucción if se evalúa como false:

var x = false;
if (x) {
  // este código no se ejecuta
}

No utilices un objeto Boolean para convertir un valor no booleano en un valor booleano. Para realizar esta tarea, en su lugar, usa Boolean como función, o un operador NOT doble:

var x = Boolean(expression);     // usa esta...
var x = !!(expression);          // ... o esta
var x = new Boolean(expression); // ¡no uses esta!

Si especificas cualquier objeto, incluido un objeto Boolean cuyo valor es false, como valor inicial de un objeto Boolean, el nuevo objeto Boolean tiene un valor de true.

var myFalse = new Boolean(false);   // valor inicial de false
var g = Boolean(myFalse);           // valor inicial de true
var myString = new String('Hola');  // objeto string
var s = Boolean(myString);          // valor inicial de true

No utilices un objeto Boolean en lugar de un Boolean primitivo.

Nota Cuando la propiedad no estándar document.all se usa como argumento para este constructor, el resultado es un objeto Boolean con el valor false. Esta propiedad es heredada y no estándar y no se debe usar.

Constructor

Boolean()
Crea un nuevo objeto Boolean.

Métodos de instancia

Boolean.prototype.toString()
Devuelve una cadena de true o false dependiendo del valor del objeto. Redefine el método Object.prototype.toString().
Boolean.prototype.valueOf()
Devuelve el valor primitivo del objeto Boolean. Redefine el método Object.prototype.valueOf().

Ejemplos

Creación de objetos Boolean con un valor inicial de false

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

Creación de objetos Boolean con un valor inicial de true

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

Especificaciones

Especificación
ECMAScript (ECMA-262)
La definición de 'Boolean' en esta especificación.

Compatibilidad del navegador

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome para AndroidFirefox para AndroidOpera para AndroidSafari en iOSSamsung InternetNode.js
BooleanChrome Soporte completo 1Edge Soporte completo 12Firefox Soporte completo 1IE Soporte completo 3Opera Soporte completo 3Safari Soporte completo 1WebView Android Soporte completo 1Chrome Android Soporte completo 18Firefox Android Soporte completo 4Opera Android Soporte completo 10.1Safari iOS Soporte completo 1Samsung Internet Android Soporte completo 1.0nodejs Soporte completo 0.1.100
Boolean() constructorChrome Soporte completo 1Edge Soporte completo 12Firefox Soporte completo 1IE Soporte completo 3Opera Soporte completo 4Safari Soporte completo 1WebView Android Soporte completo 1Chrome Android Soporte completo 18Firefox Android Soporte completo 4Opera Android Soporte completo 10.1Safari iOS Soporte completo 1Samsung Internet Android Soporte completo 1.0nodejs Soporte completo 0.1.100
toSource
No estándar
Chrome Sin soporte NoEdge Sin soporte NoFirefox Sin soporte 1 — 74
Notas
Sin soporte 1 — 74
Notas
Notas Starting in Firefox 74, toSource() is no longer available for use by web content. It is still allowed for internal and privileged code.
IE Sin soporte NoOpera Sin soporte NoSafari Sin soporte NoWebView Android Sin soporte NoChrome Android Sin soporte NoFirefox Android Soporte completo 4Opera Android Sin soporte NoSafari iOS Sin soporte NoSamsung Internet Android Sin soporte Nonodejs Sin soporte No
toStringChrome Soporte completo 1Edge Soporte completo 12Firefox Soporte completo 1IE Soporte completo 3Opera Soporte completo 4Safari Soporte completo 1WebView Android Soporte completo 1Chrome Android Soporte completo 18Firefox Android Soporte completo 4Opera Android Soporte completo 10.1Safari iOS Soporte completo 1Samsung Internet Android Soporte completo 1.0nodejs Soporte completo 0.1.100
valueOfChrome Soporte completo 1Edge Soporte completo 12Firefox Soporte completo 1IE Soporte completo 4Opera Soporte completo 4Safari Soporte completo 1WebView Android Soporte completo 1Chrome Android Soporte completo 18Firefox Android Soporte completo 4Opera Android Soporte completo 10.1Safari iOS Soporte completo 1Samsung Internet Android Soporte completo 1.0nodejs Soporte completo 0.1.100

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte
No estandar . Esperar poco soporte entre navegadores.
No estandar . Esperar poco soporte entre navegadores.
Ver notas de implementación.
Ver notas de implementación.

Ve también