title: Adding to Number.MAX_VALUE
body: <p>The answer to this question may be painfully obvious but I can't find it in the Mozilla docs nor on Google from a cursory search.</p>
  
  <p>If you have some code like this</p>
  
  <pre><code>Number.MAX_VALUE + 1; // Infinity, right?
  Number.MIN_VALUE - 1; // -Infinity, right?
  </code></pre>
  
  <p>Then I would expect adding <em>anything</em> to Number.MAX_VALUE would push it over to <code>Infinity</code>. The result is just <code>Number.MAX_VALUE</code> spat right back at me.</p>
  
  <p>However, when playing around in the Chrome JS console, I noticed that it didn't actually become <code>Infinity</code> until I added/subtracted enough:</p>
  
  <pre><code>Number.MAX_VALUE + Math.pow(100,1000); // now we hit Infinity
  Number.MIN_VALUE - Math.pow(100,1000); // -Infinity at last
  </code></pre>
  
  <p>What is the explanation for this "buffer" between <code>Number.MAX_VALUE</code> and <code>Infinity</code>?</p>