(![]+[])[+[]]... Explain why this works
<pre><code>alert((![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]);
</code></pre>

<p>The output is : <code>fail</code>. Why?<br>
By the way, (![]+[])[+!+[]] = 'false'[0], right?.But why <code>![]+[] = false</code> and why <code>+!+[] = 0</code> ?</p>
