title: Why is Math.pow(0, 0) === 1?
body: <p>We all know that 0<sup>0</sup> is indeterminate.</p>
  
  <p><strong>But</strong>, <em>javascript</em> says that:</p>
  
  <pre><code>Math.pow(0, 0) === 1 // true
  </code></pre>
  
  <p>and <em>C++</em> says the same thing:</p>
  
  <pre><code>pow(0, 0) == 1 // true
  </code></pre>
  
  <p>WHY?</p>
  
  <p>I know that:</p>
  
  <pre><code>&gt;Math.pow(0.001, 0.001)
  0.9931160484209338
  </code></pre>
  
  <p>But why does <code>Math.pow(0, 0)</code> throw no errors? Or maybe a <code>NaN</code> would be better than <code>1</code>.</p>