###### tags: `六角JS 直播班 - 2021 秋季班`
undefined 與 null 的差異
===
## undefined
- 變數若未被宣告,或宣告了但未被賦予值,預設為undefined
- undefined 的型別(typeof)為undefined
```javascript=
let a;
console.log(a) //undefined
```
## null
- 變數必須經過宣告並賦予null,宣告空值用的
- null 的型別(typeof)為 object
```javascript=
let a = null;
console.log(a) //null
```
## undefined 與 null 的共通點
- 皆為基本型別
- 皆為falsy value
- 補充:falsy value包含:
- “ ” 空字串
- 0
- undefined
- null 空值
- NaN 非數字
## 特別注意!
```javascript=
null == undefined //true
null === undefined //false
```
一律使用===,可以更確實判斷型別,避免 null, undefined 被強制轉型。
<br>
>參考資料
>[Null & undefined 型態差異 - Node.js day 7](https://ithelp.ithome.com.tw/articles/10103799)