---
# System prepended metadata

title: DAY18 - JavaScript 7. let & const 之間的差異?
tags: ['Re:0 前端工程師之路 - JavaScript 初級 篇章']

---

# DAY18 - JavaScript 7. let & const 之間的差異? 

### 1-1. let 的值是可以被中塗修改的:

```
// 1. 宣告變數 a = 1;

此時 a 賦予了值 1
假設我想要再修正這個 a 為 2
則:

// 2. a = 2;

呼叫 a
此時 a = 2;
```


### 1-2. 情境解釋:

- 假設來講，某一間商家的可樂為 20元:

```
let cokePrcie = 20;
```

- 時隔多年，可樂價格調整至 30元:

```
cokePrice = 30;

// 此時則不需要再重新宣告一次，直接輸入 cokePrice (類似呼叫出來)
   並重新賦予值給它(30)
```



---

### 2-1. const 與 let 差異?

- let 適合會經常途中做修改的時候使用。
- 反之 const 則是用在不能被任意修改的情形。

### 2-2. const 情境使用:

- 店家慶祝開幕，任何商品均一價999元，結帳後商品在打7折。


```
// 宣告變數 shopPrice 為商品，並且賦予 999 元
const shopPrice = 999;

// 宣告變數 onsale 為7折，且賦予 0.7
const onSale = 0.7;

// 預期折扣完價錢為:
- 699
```
![](https://i.imgur.com/LadUUxN.png)

### 2-3. 中塗修改 const value ?

- 假設有一奧客登門拜訪，希望小明再多打折，改成5折?

  小明不堪其擾，偷偷修改折扣 `onSale` 為 `0.5` 會發生什麼事?
  
```
// 原本是用 const 宣告的
onSale = 0.5;
```  

- **結果，會發現被打槍。**

![](https://i.imgur.com/5UMg3U4.png)


- 這即是 const 的特性，不得被修正。

```
仔細想想看，你都訂定特價折扣了，還可以任意被修改，也怪了吧? :D
```



###### tags: `Re:0 前端工程師之路 - JavaScript 初級 篇章`