Valores Truthy & Falsy
En el Capitulo 1, brevemente mencionamos la naturaleza de los valores "truthy" y "falsy": cuando un valor no-boleano
es convertido a boleano, llegando a ser true
o false
, respectivamente?
La lista especifica de los valores "falsy" en JavaScript es la siguiente:
""
(cadena de texto vacia)0
,-0
,NaN
(numero invalido
)null
,undefined
false
Cualquier valor que no esta en la lista "falsy" es "truthy". Aqui, algunos ejemplos de ellos:
"hello"
42
true
[ ]
,[ 1, "2", 3 ]
(arreglos){ }
,{ a: 42 }
(objetos)function foo() { .. }
(funciones)
Es importante recordar que un valor no-boleano
solo sigue esta coercion "truthy/falsy" si en realidad se realiza una coercion a boleano. No es tan difícil confundirse en una situación en la que parece que se está haciendo una coercion de un valor a un booleano cuando no lo es.