Los valores truthy y falsy son valores verdaderos y falsos cuando se realiza una coerción de cualquier tipo a booleano, respectivamente. Esto es importante para manejar condicionales, ya que una estructura condicional evalúa si un valor es verdadero o falso en un contexto booleano.
Qué son los valores falsy
Un valor falsy es aquel que es falso en un contexto booleano, estos son: 0, "" (string vacío), false, NaN, undefined o null.
//Ejemplos en los que Boolean devuelve Falso:Boolean(0);//falseBoolean(null);//falseBoolean(NaN);//falseBoolean(undefined);//falseBoolean(false);//falseBoolean("");//false//Ejemplos en los que Boolean devuelve verdadero:Boolean(1);//true para 1 o cualquier número diferente de cero (0)Boolean("a");//true para cualquier caracter o espacio en blanco en el stringBoolean([]);//true aunque el array esté vacíoBoolean({});//true aunque el objeto esté vacíoBoolean(function(){});//Cualquier función es verdadera también
Faltaría tener cuidado con los números negativos.
Sólo el 0 es false.
Cualquier otro número incluso los negativos es true
Boolean(-1);// true
agregaria Boolean(true); //true
¿Que tipos por default son verdaderos y falsos?
Usamos la función de JS que es Boolean() dentro del paréntesis ponemos el valor y nos dice si el mismo el False o True.
--> Falsy
Boolean() —> sin ningun valor es false
Boolean(0) —> false
Boolean(null) —> false
Boolean(NaN) —> false // NaN es Not and Number
Boolean(Undefined) —> false
Boolean(false) —> false
Boolean("") —> false
--> Truthy
Boolean(1) —> true //cualquier numero que no sea igual a cero es true
Boolean("a") —> true
Boolean(" ") —> true // siendo un espacio el valor es true
Boolean([]) —> true // un array nos da un true
Boolean({}) —> true // un objeto nos da el valor de true
Boolean(function() {}) —> true //una funcion tambien es true
Boolean(true) —> true
Todo esto lo vamos a usar en condiciones esto valida si es verdadero o falso para ejecutar cierta acción.
Jajaja evalúa que tiene contenido el String, por eso es jaja
En este punto me gustaría dejar la definición de varios tipos de datos raros que tiene JS por si aún no se han entendido bien:
NaN: En JS significa Not a Number y quiere decir que esa operación necesita de dos números o más para poder operarse.
Undefined: Undefined es un valor especial de JavaScript que existe cuando no se le asigna un valor a una variable. Es decir, la variable si existe o ha sido creada pero no se le ha asignado ningún valor. (Su valor es indefinido).
Null: null es cuando algo no existe. (De plano no existe para nada y ya esta). :D
Espero les haya servido para quienes aún tenían dudas con estos valores. ;)
Gracias por la aclaración!
Muchas gracias por el aporte.
creo que esta es una de las clases que evita muchos errores
totalmente de acuerdo
Sobretodo en las condicionales no ahorrar dolores de cabeza jaja
Que tipo de valor es verdadero y faso?
Que tipos por default son verdaderos y falsos
La siguiente lista daremos ejemplos
usamos la funcion de JS que es Boolean() dentro del pàrentesis ponemos el valor
Boolean() —> sin ningun valor es false
Boolean(0) —> false
Boolean(null) —> false
Boolean(NaN) —> false // NaN es Not and Number
Boolean(Undefined) —> false
Boolean(false) —> false
Boolean(“") —> false
Boolean(1) —> true //cualquier numero que no sea igual a cero es true
Boolean(“a") —> true
Boolean(“ ") —> true // siendo un espacio el valor es true
Boolean([]) —> true // un array nos da un true
Boolean({}) —> true // un objeto nos da el valor de true
Boolean(function() {}) —> true //una funcion tambien es true
Boolean(true) —> true
Todo esto lo vamos a ucupar en condiciones esto valida si es verdadero o falso para ejecutar cierta acción
Truthy and FalsyHay varios tipos de valores que son falsos=>Boolean(0)->False=>Boolean(null)->False=>Boolean(undefined)->False=>Boolean(NaN)->False=>Boolean(false)->False=>Boolean("")->FalseLista de verdaderos=>Boolean(1)->True=>Boolean("a")->True=>Boolean([])->True=>Boolean({})->True=>Boolean(function(){})->True=>Boolean(true)->True
Buen aporte!
En el GitHub de Archivos y enlaces estan los ejemplos del curso en un archivo 7-truthy-falsy.js que apoyan mas la claridad el curso y la que colocas.
Lo utilizamos bastabte en el curso de React js
Pronto me veo estudiando React Js y llegare con todo el conocimiento que el profesor Diego comparte :D
¿Por que 0 es false y cualquier otro numero es true?
Cuando se trabaja en una computadora, los datos son convertidos en números dígitos que, a su vez, son representados como pulsaciones o pulsos electrónicos.
En la actualidad para comunicarnos, expresarnos y guardar nuestra información, usamos el sistema de numeración decimal y el alfabeto, según se trate de valores numéricos o de texto. Una computadora como funciona con electricidad, reconoce dos clases de mensajes: cuando hay corriente eléctrica el mensaje es sí y cuando no hay corriente, el mensaje es no. Para representar un valor dentro de una computadora se usa el sistema de numeración binario, que utiliza sólo dos dígitos: el cero (0) y el uno (1).
ohhh que genial gracias por estos datos extras
Gracias.
En el MDN se pueden encontrar los valores, dejo los enlaces:
Falsy
Truthy
gracias
Dato curioso, si escribimos Boolean("false") devuelve true, quiere decir que cualquier string que no esté vacío es true
¿Estás seguro? A mi me devuelve false.
Segurísimo, también probé con Boolean("0") y me devuelve true en la consola. Hice las pruebas en Firefox y en Chrome.
Para los que no son tan avanzados (como yo) destaco que los números negativos también son verdaderos.
hasta -0 !!!
En JS todos los valores son verdaderos por defecto, a menos que los definamos como falsos con alguno de los siguientes valores:
false.
"" Un string vacio
null
NaN
undefined
Si quieres saber si un valor es verdadero o falso utiliza la función Boolean(El valor que vas a evaluar);
//falsyconsole.log(Boolean(0))console.log(Boolean(null))console.log(Boolean(NaN))//not a numberconsole.log(Boolean(undefined))//not value yetconsole.log(Boolean(false))console.log(Boolean(""))//empty string//truthlyconsole.log(Boolean(""))//string con algoconsole.log(Boolean("a"))console.log(Boolean(1))//any number console.log(Boolean({}))//arrays, even if they are emptyconsole.log(Boolean(function(){}))//functions, even if they are empty
Muchas Gracias por los console y las anotaciones!
Saludos :D
Valores FALSY
-0 es FALSY/FALSOBoolean(0)-null es FALSY/FALSOBoolean(null)-NaN es FALSY/FALSOBoolean(NaN)-undefinedFALSY/FALSOBoolean(undefined)-falseFALSY/FALSOBoolean(false)-""FALSY/FALSOBoolean("")
Valores THRUTHY
-Cualquier cadena no vacia THRUTHYBoolean("hola")-""(El espacio tambien cuenta como true)THRUTHYBoolean("")-Números mayores a 0THRUTHYBoolean(22)-UnArregloTHRUTHYBoolean([])-UnObjetoTHRUTHYBoolean({})-Cualquier funcion THRUTHYBoolean(function(){})-TrueTHRUTHYBoolean(true)
Muchas Gracias por tu aporte Roberto :D
gracias
Bien
Cabe recordar que faltan los ;
Hay un total de 6 valores / expresiones falsas en javascript.
boolean ‘false’
Cadena vacía es decir ‘’"
undefined Cualquier variable undefined será igual a false.
null Cualquier variable null será igual a false.
NaN Cualquier expresión numérica con resultado en NaN(no un número) será igual a false.
Número cero 0: Cualquier expresión numérica con resultado en cero será igual a false.
Recuerden siempre colocar Boolean con B mayuscula ya que sino genera error.
Lo comento porque me acabo de percatar y nadie lo mencionó.
Saludos
ohh gracias compa por ese dato
¡Hola a todos! Les comparto mis notas de esta clase, espero les sean de utilidad 😃