2012-01-27 35 views
7

Pido disculpas de antemano porque esto es de alguna manera una pregunta tonta, pero solo necesito saber POR QUÉ sucede esto y no encontré la respuesta. Entonces, ahí lo tienes, ¡desbordamiento de pila!Agregar objeto vacío y matriz

En este video (que no puedo recomendar lo suficiente) alrededor de las 2:00 marca de los chicos muestra que en Javascript:

[] + [] = empty string 
[] + {} = object 
{} + [] = 0 
{} + {} = NaN 

Cualquiera sabe por qué?

+7

JavaScript es a la vez fascinante y aterradora ... 1 –

+1

JS tiene todo tipo de conversiones implícitas sobre la base de el operador. El gurú de JavaScript viene a explicar cada uno en 5 ... 4 ... 3 .. –

+1

'[] + {}' es la representación de cadena de un objeto, que es algo así como "[object Object]" http: // jsconsole .com /? typeof% 20 (% 5B% 5D% 20% 2B% 20% 7B% 7D) – dtanders

Respuesta

6

This blog post por Adam Iley cubre el razonamiento detrás de la mayoría de estos casos.

(Nota:.. El sitio está teniendo algunos problemas de bases de datos Puede utilizar el google cache hasta que arreglen las cosas)