--- title: Booleano slug: Web/JavaScript/Reference/Global_Objects/Boolean tags: - Boolean - Clase - Class - Constructor - JavaScript - Referencia translation_of: Web/JavaScript/Reference/Global_Objects/Boolean original_slug: Web/JavaScript/Referencia/Objetos_globales/Boolean ---
El objeto Boolean
es un objeto contenedor para un valor booleano.
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
, {{jsxref("null")}}, false
, {{jsxref("NaN")}}, {{jsxref("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
{{Glossary("Primitive", "primitivo")}}, true
y false
con los valores true
y false
del objeto Boolean
.
Cualquier objeto cuyo valor no sea {{jsxref("undefined")}} o {{jsxref("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 {{jsxref("Statements/if...else", "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 {{jsxref("Statements/if...else", "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.
Boolean
.true
o false
dependiendo del valor del objeto. Redefine el método {{jsxref("Object.prototype.toString()")}}.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);
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({});
Especificación |
---|
{{SpecName('ESDraft', '#sec-boolean-objects', 'Boolean')}} |
{{Compat("javascript.builtins.Boolean")}}