title: Why does `Object.prototype.toString.call(null)` work in non-strict mode?
body: <p>Why would the following be the result in ES5 non-strict mode?</p>
  
  <pre><code>Object.prototype.toString.call(null);
  =&gt; [object Null]
  </code></pre>
  
  <p>given that</p>
  
  <pre><code>Object.prototype.toString.call(window);
  =&gt; [object global]
  </code></pre>
  
  <p>Shouldn't the two lines be identical in non-strict mode, since <code>someFunction.call(null)</code> should be equivalent to <code>someFunction()</code> which should be equivalent to <code>someFunction.call(window)</code>?</p>