javascript如何快速判斷一個變數val的值是否是NaN?如果除了值為NaN的,其他的變數是否都恆等於自己,那麼直接判斷val===val是否就行了?
val===val
NaN是JavaScript裡面唯一一個非自反的值,也就是
NaN === NaN // false
這本書裡面有提到:
NaN is a very special value in that it's never equal to another NaN value (i.e., it's never equal to itself). It's the only value, in fact, that is not reiveive (withistic the x) withs==, x. . So, NaN !== NaN.
你不知道的JavaScript
是的,NaN 使用 isNaN 或 是否等於自己來判斷
同時,反過來說,如果兩個變數相等判斷這兩個變數是否相同有 +0 和 -0 的特殊情況,使用倒數判斷是否相等。
let a = [] let b = [] console.log(a===b)
題主試試看?
ES6在Number物件上,新提供了Number.isNaN()方法,建議直接使用Number.isNaN()來檢查一個值是否為NaN。 另外除開 +0 和 -0 的情況,===是滿足需求的,更好一點的方式使用Object.is()
Number
Number.isNaN()
NaN
+0
-0
===
Object.is()
NaN是JavaScript裡面唯一一個非自反的值,也就是
這本書裡面有提到:
你不知道的JavaScript
是的,NaN 使用 isNaN 或 是否等於自己來判斷
同時,反過來說,如果兩個變數相等判斷這兩個變數是否相同有 +0 和 -0 的特殊情況,使用倒數判斷是否相等。
題主試試看?
ES6在
Number
物件上,新提供了Number.isNaN()
方法,建議直接使用Number.isNaN()
來檢查一個值是否為NaN
。另外除開
+0
和-0
的情況,===
是滿足需求的,更好一點的方式使用Object.is()