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 |
|
|