Coerción o conversión de valores comunes a Booleano en JavaScript
                
   La siguiente tabla muestra distintos valores evaluados desde la sentencia
   if y desde la comparación no estricta a true. Verás
   que la coerción aplicada en la sentencia condicional IF puede varias si la
   comparas directamente con el valor true.
También es importante mencionar que podemos simular la coerción dentro de un IF con el objecto wrapper Boolean (ver Objetos de Envoltura en JavaScript) o con la doble negación !!.
| Valor | IF | == true | 
|---|---|---|
| true | 
  |  
  | 
| false | 
  |  
  | 
| 10 | 
  |  
  | 
| 1 | 
  |  
  | 
| 0 | 
  |  
  | 
| -1 | 
  |  
  | 
| "true" | 
  |  
  | 
| "false" | 
  |  
  | 
| "10" | 
  |  
  | 
| "1" | 
  |  
  | 
| "0" | 
  |  
  | 
| "-1" | 
  |  
  | 
| "" | 
  |  
  | 
| null | 
  |  
  | 
| undefined | 
  |  
  | 
| Infinity | 
  |  
  | 
| -Infinity | 
  |  
  | 
| [] | 
  |  
  | 
| {} | 
  |  
  | 
| [[]] | 
  |  
  | 
| [0] | 
  |  
  | 
| [1] | 
  |  
  | 
| [10] | 
  |  
  | 
| NaN | 
  |  
  |