Duplicar posible:
What is the explanation for these bizarre JavaScript behaviours mentioned in the 'Wat' talk for CodeMash 2012?¿Por qué {} + [] devuelve 0 en Javascript?
Sé que cuando []
se fuerza a una cadena que devuelve la cadena vacía (""
), y cuando {}
se fuerza a una cadena que devuelve "[object Object]"
.
Cuando corro [] + {}
en la consola JavaScript del navegador, devuelve lo que cabe esperar:
>> [] + {}
"[object Object]"
Pero cuando corro {} + []
, devuelve un valor completamente inesperado:
>> {} + []
0
¿Qué podría estar causando que regrese 0
?
Parece que está agregando nulo a nulo. Esto sería equivalente a 0 + 0. Eso es solo una suposición. – Trisped
@Trisped: ninguno de esos son nulos. – SLaks
Esta pregunta es subsumida por http://stackoverflow.com/questions/9032856/what-is-the-explanation-for-these-bizarre-javascript-behaviours-mentioned-in-the (que a partir de ahora tiene 301 votos) ..... –