title: Difference between Element.value === "" and Element.length === 0
body: <p>I'm pretty sure this is obvious to most people, but I somehow got stuck thinking about this. Please be kind ;)</p>
  
  <p>I realised that <code>Element.value</code> returns a <code>String</code> whereas <code>Element.length</code> returns an <code>Int</code>, but I'm still not sure whether the two methods return the same values (see example).</p>
  
  <p><strong>Toy example</strong></p>
  
  <p>I have the following input box</p>
  
  <pre><code>&lt;input id="myInput" type="text" value=""&gt;
  </code></pre>
  
  <p>and two separate functions with the following methods</p>
  
  <pre><code>---method1---
  var x = document.getElementById("myInput").length;
  
  ---method2---
  var y = document.getElementById("myInput").value;
  </code></pre>
  
  <p><code>y</code> value would be <code>0</code>, but what would <code>x</code> value be? <code>null</code> or <code>0</code>?</p>
  
  <p>In other words do</p>
  
  <p><code>Element.value === ""</code> and <code>Element.length === 0</code> express the same thing?</p>