title: Why an empty Array type-converts to zero? +[]
body: <p>just when I thought I understood something about type conversion in JavaScript, I stumbled with this:</p>
  
  <pre><code>+[]; // 0
  Number([]); // 0
  </code></pre>
  
  <p>My first thought was that I should get NaN, just like if I try to convert an empty object to number:</p>
  
  <pre><code>+{}; // NaN
  Number({}); // NaN
  </code></pre>
  
  <p>I have been searching about this for a while without any success...</p>
  
  <p>Can somebody explain me why it gets converted to 0 and not to NaN?</p>
  
  <p>Is this behavior standard?</p>
  
  <p>Thanks.</p>