Problems with adding object with array
<p>Inspired by this <a href="https://www.destroyallsoftware.com/talks/wat" rel="nofollow">video</a>, I tested <em>further</em> with <code>{}+[]</code>.</p>

<p><strong>Test 1:</strong></p>

<pre><code>typeof {}+[]  //"object"
</code></pre>

<p>Okay, so <code>{}+[]</code> is an <code>object</code>.</p>

<p><strong>Test 2:</strong></p>

<pre><code>var crazy = {}+[];
typeof crazy  //"string"
</code></pre>

<p>What? Didn't <code>{}+[]</code> is an <code>object</code>? Why is it a <code>string</code> now?</p>

<p><strong>Test 3:</strong></p>

<pre><code>console.log({}+[])
</code></pre>

<p>What I got:</p>

<p><img src="http://i.stack.imgur.com/OzI35.png" alt="enter image description here"></p>

<p>So it is a <code>number</code>!... No?</p>

<p>So <strong>what actually is the type of <code>{}+[]</code></strong>??</p>

<h2>UPDATED</h2>

<p>To people who say <code>{}+[]</code> is a empty string:</p>

<pre><code>{}+[] === ""     //false
({}+[]) === ""   //false
({};+[]) === ""  //SyntaxError
({}+[]).length   //15
</code></pre>

<p>JavaScript is so hard to understand...</p>
