Los booleans son un tipo de datos primitivo comúnmente usado en los lenguajes de programación de computadoras. Por definición, un boolean tiene dos valores posibles: `true` (cierto) o `false` (falso) .
En Javascript, a menudo hay una coerción de tipo implícita al booleano. Si, por ejemplo, tiene una sentencia if que verifica una expresión determinada, esa expresión se convertirá en un boolean y será siempre cierto o falso:
Como puede ver, el operador _o_ comprueba el primer operando. Si esto es cierto o veraz, lo devuelve de inmediato (por lo que obtenemos 'palabra' en el primer caso y verdadero en el segundo caso). Si no es verdad o no es verdad, devuelve el segundo operando (por lo que obtenemos 'palabra' en el tercer caso).
Con el operador y funciona de una manera similar, pero para 'y' para ser verdad, ambos operandos deben ser sinceros. Por lo tanto, siempre devolverá el segundo operando si ambos son verdaderos / verdaderos, de lo contrario, devolverá falso. Es por eso que en el cuarto caso nos hacemos realidad y en el último caso recibimos 'word'.
También hay un objeto JavaScript nativo que envuelve un valor. El valor pasado como primer parámetro se convierte en un valor boolean, si es necesario. Si se omite el valor, 0, -0, nulo, falso, NaN, indefinido o la cadena vacía (""), el objeto tiene un valor inicial de falso. Todos los demás valores, incluido cualquier objeto o la cadena "falsa", crean un objeto con un valor inicial de verdadero.
No confunda los valores booleanos primitivos verdaderos y falsos con los valores verdaderos y falsos del objeto booleano.
## Más detalles
Cualquier objeto cuyo valor no sea indefinido o nulo, incluido un objeto booleano cuyo valor es falso, se evalúa como verdadero cuando se pasa a una declaración condicional. Si es verdadero, esto ejecutará la función. Por ejemplo, la condición en la siguiente instrucción if se evalúa como verdadera:
No utilice un objeto boolean para convertir un valor no booleano en un valor booleano. En su lugar, use Boolean como una función para realizar esta tarea:
Si especifica cualquier objeto, incluido un objeto boolean cuyo valor sea falso, como el valor inicial de un objeto booleano, el nuevo objeto booleano tiene un valor verdadero.