###### tags: `Javascript` `六角筆記王`
# 關於 NaN
* NaN 的型別是 number
* NaN 的全名是 Not a Number(不是一個數字),非數字
> 你可以想成相乘運算基本上就是用在數字型別上的,所以當你使用 * 運算子時,他會將要運算的值都用 Number 轉成數字再做運算,而若轉換的結果有任何東西為非數字,就會出現 NaN,NaN 是數字型別,能夠與數字進行運算。
----引用前端助教 Jay
* NaN 不能運算
* NaN 可能產生時機:
1. 將"字串"與數字相乘
```javascript=
let myName = "Tom";
let age = 20;
let total = myName * age; //字串與數字相乘
console.log(total); //NaN
```
2. 在 parseInt() 裡放不可能轉型的字串
```javascript=
//parseInt轉換成數字型別
let age2 = parseInt("hello"); //因為hello並非數字,所以使用parseInt轉換數字型別會出現NaN錯誤訊息。
console.log(age2); //NaN
console.log(typeof age2); //Number
```
* NaN 存在的目的在告訴你就算不能相乘也會回報你異常
* 如果今天想判斷值是不是 NaN ,可以使用 isNaN()