`truthy` y `falsy` en JavaScript

`truthy` y `falsy` en JavaScript

Este artículo explica truthy y falsy en JavaScript.

YouTube Video

truthy y falsy en JavaScript

Los conceptos de truthy y falsy en JavaScript desempeñan un papel muy importante, especialmente en la evaluación de declaraciones condicionales. Truthy y falsy determinan si un valor se evalúa como verdadero (true) o falso (false), pero estos valores no son necesariamente los valores booleanos true o false en sí mismos.

Valores Falsy

Los valores falsy son aquellos que se evalúan como false en declaraciones condicionales en JavaScript. A continuación, se muestra una lista de valores falsy en JavaScript.

 1const values = [
 2    false,
 3    0,
 4    -0,
 5    0.0,
 6    -0.0,
 7    0n,
 8    -0n,
 9    "",
10    null,
11    undefined,
12    NaN
13];
14
15for (let value of values) {
16    if (value) {
17        console.log(`${value} is truthy`);
18    } else {
19        console.log(`${value} is falsy`);
20    }
21}

En este ejemplo, todos los valores falsy se mostrarán como "falsy". A continuación, se muestra una lista de valores falsy en JavaScript.

  • falsefalse en el tipo Booleano
  • 0 — El número cero (el decimal 0.0 también es falsy)
  • -0 — El cero negativo (técnicamente distinto de 0, pero aún es falsy)
  • 0n — El cero en el tipo BigInt
  • "" — Una cadena vacía de longitud 0
  • null — Sin valor presente
  • undefined — Valor indefinido
  • NaN — No es un número

Estos valores se tratan como false en operaciones lógicas y declaraciones condicionales (como en declaraciones if).

Valores Truthy

Todos los valores que no son falsy son truthy. Esto se refiere a valores que se evalúan como booleanos true. En JavaScript, muchos valores se tratan como truthy.

 1const values = [
 2    true,
 3    1,
 4    -1,
 5    "Hello",
 6    " ",
 7    [],
 8    {},
 9    function() {},
10    Symbol(),
11    Infinity
12];
13
14for (let value of values) {
15    if (value) {
16        console.log(value, ' is truthy');
17    } else {
18        console.log(value, ' is falsy');
19    }
20}

En este código, los valores truthy se mostrarán como "truthy". Por ejemplo, los siguientes valores son truthy.

  • truetrue en el tipo Booleano
  • Números (que no sean 0) — Por ejemplo, 1 y -1 también son truthy.
  • Cadenas (no vacías) — por ejemplo, "Hello" o " " (incluso cadenas con solo espacios son truthy)
  • Objetos — Incluso los objetos vacíos ({}) y los arrays ([]) son truthy.
  • Funciones — Las funciones en sí mismas también son truthy.
  • Symbol: Los valores de tipo Symbol también son considerados truthy.
  • Infinity — Tanto el infinito positivo como el negativo son truthy.

Aplicaciones de truthy y falsy

Los conceptos de truthy y falsy se utilizan a menudo en declaraciones condicionales y operaciones lógicas. Por ejemplo, al establecer un valor predeterminado utilizando el operador || (OR lógico), el primer valor truthy se devuelve como resultado.

Cómo verificar valores falsy

Para verificar los valores falsy, es conveniente usar la función Boolean. La función Boolean convierte explícitamente un valor dado a un tipo booleano.

Ejemplos de la función Boolean

 1const values = [
 2    false,
 3    0,
 4    "",
 5    null,
 6    undefined,
 7    NaN
 8];
 9
10for (let value of values) {
11    console.log(`${value} is ${Boolean(value) ? 'truthy' : 'falsy'}`);
12}

Conclusión

Truthy y falsy en JavaScript son importantes para entender cómo los valores no booleanos se evalúan en expresiones condicionales. Los valores falsy incluyen false, 0, una cadena vacía, null, undefined y NaN, mientras que todos los demás valores se evalúan como truthy. Entender estos conceptos te permite escribir código más flexible y eficiente.

Puedes seguir el artículo anterior utilizando Visual Studio Code en nuestro canal de YouTube. Por favor, también revisa nuestro canal de YouTube.

YouTube Video