en Programación

Valores Truthy y Falsy

Hola a todos, hace tiempo que no escribo en el blog, pero pienso que es buen momento para retomarlo, y que mejor que hacerlo sobre algo que me llamó la atención estos días, los valores Truthy y Falsy.

Para quienes me conocen, no es secreto que mi lenguaje favorito, aquél con el que comencé en la programación, y con el que me gusta hacerlo todo siempre que se me permite es Python.

Pero últimamente he estado trabajando mucho con Javascript, en especial, ganando experiencia con su nueva especificación ECMAscript 2015,.

Algo que me llamó la atención, fue leer acerca de la expresión que establece el titulo de esta entrada, los valores Truthy y Falsy. Todos conocemos que en los lenguajes de programación, tenemos los valores “booleanos” True y False, así que se podrán estar preguntar, ¿de qué rayos está hablando? Bien, en palabras fáciles de digerir, podemos decir que cada elemento del lenguaje tiene un valor booleano intrinsico-primitivo.

Valores Truthy y Falsy

Valores Truthy y Falsy

 

 

 

Teniendo primeramente los valores que ya todos conocemos True y False, pertenecientes a la clase bool, nos encontramos con lo siguiente:

Valores Falsy

None  # Valor None perteneciente a la clase NoneType.
0  # Valor 0 perteneciente a la clase int.
""  # Valor cadena vacía perteneciente a la clase str.
[]  # Valor lista vacía perteneciente a la clase list.
()  # Valor tupla vacía perteneciente a la clase tuple.
{}  # Valor diccionario vació perteneciente a la clase dict.

Así que no te convence eso…puedes probarlo por ti mismo, en el intérprete de Python prueba utilizando bool() para evaluar cada uno de esos datos, verás que todos evaluarán como False…¿ahora me crees?

Dicho esto, cualquier otro valor, es considerado un valor Truthy . Sencillo ¿cierto?

 

Valores Truthy y Falsy

 

 

 

 

 

 

 

 

En el caso de JS no existe mucha diferencia con respecto a Python,

Como valores Falsy (además de false)  tenemos:

0  // (cero) de la clase Number.
NaN  // (Not a Number) de la clase Number.
""  // (cadena vacía) de la clase String.
null  // de la clase Object.
undefined  // de la clase Undefined.

Valores Truthy:

En JS al igual que Python, cualquier otro valor diferente a los anteriores, es considerado como verdadero o Truthy además de algunos valores que pueden resultar curiosos como:

Infinity  // Number(Al igual que NaN, son números especiales de JS)
"0" , "true", "false"  // String
function(){}  // Function
[]  // Object (Array)
{}  // Object

Y bien, es todo por ahora, mi nuevo propósito es publicar una entrada por día,
por más pequeña que sea, para ganar ese habito, y poder yo mismo mejorar en la programación,
y como persona, puesto que una vez me dijeron qué cada día se aprende algo nuevo, y que si
esto no se cumplía, es porque estaba desaprovechando mi tiempo.

Así que es todo por hoy, espero les sirva está información, si tienen algún comentario no
duden en escribirlo, y si les parece interesante el articulo, sería un gran gesto que lo compartieras.

Si quieren saber un poco más sobre esto, aplicado a JS,
una buena referencia es el siguiente articulo:

Saludos 😀

Deja un comentario