title: Is Number.IsNaN() more broken than isNaN()
body: <p>Soooooo <code>isNaN</code> is apparently broken in JavaScript, with things like:</p>
  
  <pre><code>isNaN('')
  isNaN('   ')
  isNaN(true)
  isNaN(false)
  isNaN([0])
  </code></pre>
  
  <p>Returning false, when they appear to all be... Not a Number...</p>
  
  <p>In ECMAScript 6, the draft includes a new <code>Number.isNaN</code> but it looks like (imo) that this is also broken...</p>
  
  <p>I would expect</p>
  
  <pre><code>Number.isNaN('RAWRRR')
  </code></pre>
  
  <p>To return true, since it's a string, and cannot be converted to a number... However...</p>
  
  <p><img src="https://i.stack.imgur.com/VU26M.png" alt="enter image description here"></p>
  
  <p>It seems that things that I would consider... not a number, are indeed, not, not a number...</p>
  
  <p><a href="http://people.mozilla.org/~jorendorff/es6-draft.html#sec-isfinite-number" rel="noreferrer">http://people.mozilla.org/~jorendorff/es6-draft.html#sec-isfinite-number</a></p>
  
  <p>The examples on MDN say:</p>
  
  <blockquote>
    <p>Number.isNaN("blabla"); // e.g. this would have been true with isNaN</p>
  </blockquote>
  
  <p>I don't understand how this is "More robust version of the original global isNaN." when I cannot check to see if things are not a number.</p>
  
  <p>This would mean we're still subjected to doing actual type checking as well as checking isNaN... which seems silly...</p>
  
  <p><a href="http://people.mozilla.org/~jorendorff/es6-draft.html#sec-isnan-number" rel="noreferrer">http://people.mozilla.org/~jorendorff/es6-draft.html#sec-isnan-number</a></p>
  
  <p>The ES3 draft here basically says, everything is always false, except with its Number.NaN</p>
  
  <p>Does anyone else find this is broken or am I just not understanding the point of isNaN?</p>