Why can't Date be instantiate as not being a constructor? And other confusion
<p>I am having a lot of confusion about the <strong>Date</strong> keyword in javascript. The <a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date" rel="nofollow">MDN article</a>, in it's second line, states that <code>Date</code> is an object:</p>

<blockquote>
  <p><code>Date</code> objects are based on a...</p>
</blockquote>

<p>But <code>typeof Date</code> returns <code>"function"</code>. Second thing is <code>Date()</code> -- with closed brackets -- should be a function because anything of type <code>foo()</code> is a function as per <em>Douglas Crockford's</em> book's chapter <em>Grammar</em>. Surprisingly enough, <code>typeof Date()</code> returns <code>"string"</code>. Now if <code>Date()</code> is not a function then what is <code>new Date()</code>? A string constructor? Precisely my questions are:</p>

<ul>
<li>What is <code>Date</code>? And how is it defined in javascript itself?  </li>
<li>What is <code>Date()</code>? How is it different from <code>Date</code>? How is it defined in javascript itself? Why is it not a function?  </li>
<li>What is <code>new Date()</code>? If <code>Date()</code> is a string then how can it act as constructor?  </li>
<li>If we can instantiate <code>new Date()</code>, e.g. like <code>new Date("October 13, 2014 11:13:00")</code> then why can't we instantiate the original function <code>Date()</code> similarly as <code>Date("October 13, 2014 11:13:00")</code>?</li>
</ul>