---
# System prepended metadata

title: 布林、underfined、null
tags: [' false', ' ture', boolean]

---

---
title: 布林、underfined、null
tags: boolean, ture, false,
description:
---

布林、undefined、null
===
### 布林
- #### 什麼是布林
讓==判斷式==（程式邏輯）區分什麼是==對的==、什麼是==錯的==。

或者，什麼是==可行的==、什麼是==不可行的==。

<br>

從範例得知，boolean的兩種型態，```true```、```false```。
```javascript=
let isActive = true;
let isGetNum = false;
console.log(typeof isActive);    //boolean
console.log(typeof isGetNum);    //boolean
```

<br>

### underfined
- #### 什麼是underfined

只有宣告變數，但==未賦予變數一個值==。也就是說，變數```num```==未被賦予任何值==。

因為尚未被賦予任何值，所以變數```num```也==不存在任何型別==。


```javascript=
let num;
console.log(num);    //undefined
console.log(typeof num);    //undefined
```

:::warning
避免把undefined賦予給變數，undefined是**系統自動產生**的。
:::
<br>

### null
- #### 什麼是null

從範例來看，變數```num```有==被賦予值==，但告知是==空值==。
```javascript=
let num = null;
console.log(num);
```
<br>

如果要清除變數```num2```的值，```num2```可以賦予```null```，同時也==會清除變數```num2```的記憶體空間==。
```javascript=
let num2 = 123;
num2 = null;
console.log(num2);
```