奇妙的東西~
簡述
這邊先強調一下:
NaN
不是一種資料型態NaN
不是一種資料型態NaN
不是一種資料型態
NaN
其實是一個 number:
1 | console.log(typeof NaN); // number |
只不過它有一個很奇葩的現象:
1 | const a = Number('abc') // NaN |
居然有變數不等於變數自己的情況?沒錯,這就是 NaN
的特性,它不等於任何人,即便是它自己。
所以就特別記一下就好,NaN
就是個特殊的 case。如果你真的要檢查一個變數是不是 NaN
可以用 isNaN
來檢查:
1 | console.log(isNaN(NaN)); // true |
'123'
這個 case 你能想成是這樣:
1 | console.log(isNaN(Number('123'))); |
這樣就不會覺得困惑了。