SoooooooisNaN
显然在 JavaScript 中被破坏了,例如:
isNaN('')
isNaN(' ')
isNaN(true)
isNaN(false)
isNaN([0])
返回 false,当它们看起来都是......不是数字......
在 ECMAScript 6 中,草案包括一个新的Number.isNaN
但看起来(imo)这也被破坏了......
我希望
Number.isNaN('RAWRRR')
返回true,因为它是一个字符串,不能转换为数字......但是......
看来我会考虑的事情……不是数字,确实,不是,不是数字……
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-isfinite-number
MDN 上的例子说:
Number.isNaN("blabla"); // 例如这对 isNaN 来说是正确的
我不明白这是“原始全局 isNaN 的更强大版本”。当我无法检查事物是否不是数字时。
这意味着我们仍然需要进行实际的类型检查以及检查 isNaN ......这似乎很愚蠢......
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-isnan-number
这里的 ES3 草案基本上是说,除了它的 Number.NaN 之外,一切都是假的
有没有其他人发现这被破坏了,或者我只是不理解 isNaN 的意义?