`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—falseen el tipo Booleano0— El número cero (el decimal0.0tambié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—trueen el tipo Booleano- Números (que no sean 0) — Por ejemplo,
1y-1tambié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 tipoSymboltambié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.