# 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 初級 篇章`