title: void(0) returns `undefined`, but allows property access. Why?
body: <p>So <code>void</code> returns <code>undefined</code> after executing the expression passed to it.  <code>undefined</code> throws exceptions when you try to access its properties.  So why is that <code>void(0).prop</code> returns <code>undefined</code> instead of crashing?</p>
  
  <pre><code>alert("void(0) =&gt; " + void(0)); // undefined
  
  // How is it that this doesn't throw an exception?
  alert("void(0).someprop =&gt; " + void(0).someprop); // undefined
  
  // Exception, can't access property of undefined.
  alert("undefined.someprop =&gt; " + undefined.someprop); // crash
  </code></pre>
  
  <p><a href="http://jsfiddle.net/bFhLS/" rel="noreferrer">http://jsfiddle.net/bFhLS/</a></p>