---
# System prepended metadata

title: JavaScript 的世界 - undefined 是什麼?
tags: [JavaScript - 學徒篇]

---

# JavaScript 的世界 - undefined 是什麼?

- 我們今天在 console 輸入了這個變數:

```
var price = 30;
// 網頁會直接列印出一個 undefined
```

究竟這個 undefined 是什麼? 我確實有宣告 **price** 為一個 30 數值變數

- 今天如在 vscode 輸入的話:

```
var price = 30;
console.log(price);
// 30
```
這邊的話，確實會列印出 `30`，原因是為什麼?

### 這之間的差異為何?

- 向下測試:

1. 先宣告變數，但不賦予任何屬性、值
2. 直接 console price，則得到空值

```
var price
console.log(price);
//undefined
```

### 邏輯:

1. 在**第一次宣告變數時**，其`變數`會以一個記憶體的方式存取在 chrome 上，此時會得知其變數被宣告，而初始會顯示空值 - `undefined`，但**變數**確實存在

2. 而第一次紀錄之後，第二次再一次的呼叫變數時，則會正常顯示(已賦予值給它)


### 有些時候我們並不知道這個變數最後會變成什麼值

- 故正常來說，是可以先直接命名一個宣告變數，但不賦予任何值
  在後續透過任何方式來賦予值在其變數上
  


###### tags: `JavaScript - 學徒篇`

