Explicación de los valores booleanos de JavaScript: cómo usar los valores booleanos en JavaScript

Booleano

Los booleanos son un tipo de datos primitivo comúnmente usado en lenguajes de programación de computadoras. Por definición, un booleano tiene dos valores posibles: trueo false.

En JavaScript, a menudo hay una coerción de tipo implícita para boolean. Si, por ejemplo, tiene una declaración if que verifica una determinada expresión, esa expresión se convertirá en un booleano:

const a = 'a string'; if (a) { console.log(a); // logs 'a string' }

Solo hay unos pocos valores que se convertirán en falso:

  • falso (no realmente coaccionado porque ya es falso)
  • nulo
  • indefinido
  • Yaya
  • 0
  • "" (cuerda vacía)

Todos los demás valores se convertirán en verdaderos. Cuando un valor se convierte en booleano, también lo llamamos "falso" o "verdadero".

Una forma en que se usa la coerción de tipos es con el uso de los operadores or ( ||) y y ( &&):

const a = 'word'; const b = false; const c = true; const d = 0 const e = 1 const f = 2 const g = null console.log(a || b); // 'word' console.log(c || a); // true console.log(b || a); // 'word' console.log(e || f); // 1 console.log(f || e); // 2 console.log(d || g); // null console.log(g || d); // 0 console.log(a && c); // true console.log(c && a); // 'word'

Como puede ver, el operador o comprueba el primer operando. Si esto es verdadero o verdadero, lo devuelve inmediatamente (por eso obtenemos 'palabra' en el primer caso y verdadero en el segundo caso). Si no es verdadero o veraz, devuelve el segundo operando (por eso obtenemos 'palabra' en el tercer caso).

Con el operador y funciona de manera similar, pero para que 'y' sea verdadero, ambos operandos deben ser verdaderos. 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 obtenemos la verdad y en el último caso obtenemos 'palabra'.

El objeto booleano

También hay un objeto JavaScript nativo que envuelve un valor. El valor pasado como primer parámetro se convierte en un valor booleano, 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 falso. Todos los demás valores, incluido cualquier objeto o la cadena "falso", crean un objeto con un valor inicial verdadero.

No confunda los valores booleanos primitivos verdadero y falso con los valores verdadero y falso del objeto booleano.

Más detalles

Cualquier objeto cuyo valor no sea indefinido o nulo, incluido un objeto booleano cuyo valor sea 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 declaración if se evalúa como verdadera:

const x = new Boolean(false); if (x) { // this code is executed }

Este comportamiento no se aplica a las primitivas booleanas. Por ejemplo, la condición en la siguiente declaración if se evalúa como falsa:

const x = false; if (x) { // this code is not executed }

No utilice un objeto booleano para convertir un valor no booleano en un valor booleano. En su lugar, use Boolean como función para realizar esta tarea:

const x = Boolean(expression); // preferred const x = new Boolean(expression); // don't use

Si especifica cualquier objeto, incluido un objeto booleano cuyo valor es falso, como valor inicial de un objeto booleano, el nuevo objeto booleano tiene un valor de verdadero.

const myFalse = new Boolean(false); // initial value of false const g = new Boolean(myFalse); // initial value of true const myString = new String('Hello'); // string object const s = new Boolean(myString); // initial value of true

No utilice un objeto booleano en lugar de una primitiva booleana.