Why does +!{}[true] output 1 in javascript
<p>I was watching this video
<a href="http://www.youtube.com/watch?v=Trr95ij1358" rel="nofollow">http://www.youtube.com/watch?v=Trr95ij1358</a></p>

<p>And Mr Baranovskiy emphasizes that javascript developers 
should know what this evaluates to:</p>

<p><strong>+!{}[true]</strong></p>

<p>So I gave it a shot. </p>

<p>It outputs 1</p>

<p>Can anyone give me a reason for this?</p>
