Number.isNaN()與isNaN()


Number.isNaN 對比 isNaN

typeof NaN === 'number'

由於NaN 是 number 類型。

所以不能直接區分出 NaN 和普通數字。

甚至對於 NaN 和 普通數字,當調用 Object.prototype.toString.call 方法時都會返回 [object Number]

您可能已經知道 isNaN 方法可以用於檢查參數是否為 NaN。但是自從有了 ES6 之后,構造函數 Number() 也開始將 isNaN 作為它的方法。那么,這二者有什么不同呢?

  • isNaN —— 檢查值是否不是一個普通數字或者是否不能轉換為一個普通數字。
  • Number.isNaN —— 檢查值是否為 NaN。

看一些例子就明白了

Number.isNaN({});
// <- false,{} 不是 NaN
Number.isNaN('ponyfoo')
// <- false,'ponyfoo' 不是 NaN
Number.isNaN(NaN)
// <- true,NaN 是 NaN
Number.isNaN('pony'/'foo')
// <- true,'pony'/'foo' 是 NaN,NaN 是 NaN

isNaN({});
// <- true,{} 不是一個普通數字
isNaN('ponyfoo')
// <- true,'ponyfoo' 不是一個普通數字
isNaN(NaN)
// <- true,NaN 不是一個普通數字
isNaN('pony'/'foo')
// <- true,'pony'/'foo' 是 NaN, NaN 不是一個普通數字

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM