Una de las particularidades con los que nos encontramos quienes empezamos a meternos con Javascript son los “falsy values”. Estos son los valores que el lenguaje toma como FALSO al ser utilizados como booleanos. Cualquier otro valor que utilicemos nos va a dar true. Es un mecanismo similar al que usa C con los números, pero más amplio.
Los valores que dan falso son:
- false
- 0 (cero)
- “” (vacío)
- null
- undefined
- NaN
Otra particularidad que tiene este lenguaje es que si hacemos un “OR”, en el caso de dar true, este nos retorna el valor que convirtió en verdadero el if. Por ejemplo: var saludo = 0 || “Hola”; nos guardará “Hola” en la variable saludo. Esto es particularmente útil si queremos dar valores por default a una variable. Ejemplo: var foo= otraVariable ||{};
Les dejo un proyectito ilustrando estas situaciones https://bitbucket.org/etebes/js-falsy-values/
Post basado en este blog: https://www.sitepoint.com/javascript-truthy-falsy/
Gracias por el aporte!!