title: Empty arrays seem to equal true and false at the same time
body: <p>Empty arrays are true but they're also equal to false.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>var arr = [];
  console.log('Array:', arr);
  if (arr) console.log("It's true!");
  if (arr == false) console.log("It's false!");
  if (arr &amp;&amp; arr == false) console.log("...what??");</code></pre>
  </div>
  </div>
  </p>
  
  <p>I guess this is due to the implicit conversion operated by the equality operator.</p>
  
  <p>Can anyone explain what's going on behind the scenes?</p>