`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.
false
—false
en el tipo Booleano0
— El número cero (el decimal0.0
también esfalsy
)-0
— El cero negativo (técnicamente distinto de0
, pero aún esfalsy
)0n
— El cero en el tipo BigInt""
— Una cadena vacía de longitud 0null
— Sin valor presenteundefined
— Valor indefinidoNaN
— 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
.
true
—true
en el tipo Booleano- Números (que no sean 0) — Por ejemplo,
1
y-1
también sontruthy
. - Cadenas (no vacías) — por ejemplo,
"Hello"
o" "
(incluso cadenas con solo espacios sontruthy
) - Objetos — Incluso los objetos vacíos (
{}
) y los arrays ([]
) sontruthy
. - Funciones — Las funciones en sí mismas también son
truthy
. Symbol
: Los valores de tipoSymbol
también son consideradostruthy
.Infinity
— Tanto el infinito positivo como el negativo sontruthy
.
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.