---
# System prepended metadata

title: 1-2、let、const、var 介紹

---

# 1-2、let、const、var 介紹

參考筆記
https://ithelp.ithome.com.tw/articles/10240708
### 1、let : 

(1)可以宣告只能在目前區塊、階段或表達式中作用的變數。
(2)同一變數不宣告一次即可

### 2、const不可變數 :　

Constants (常數) 有點像使用 let 所宣告的變數，具有區塊可視範圍。常數不能重複指定值，也不能重複宣告。

### ３、let、const特性 :
             
 區塊作用域變量會提升，但若未宣告該變數時(const甚至要求你必需賦值)，就去提取該變數便會報錯，而非回傳undefined不允許重複宣告全域變數不會成為window的屬性
 
### ４、let、const取代var原應 :
 
 JavaScript在ES6中新增了“let”宣告方式來取代”var”。在ES6之前，JavaScript的世界中並沒有區塊域(block)的概念，因此經常使用”var”宣告所有的變數，然而這樣的宣告方式程式碼在運行時可能會出有區域變數覆蓋全域變數或者for loop中循環變數洩漏為全域變數的副作用發生。而在ES6發布之後，有了區塊域(block)的概念以及“let”的推出，上述的副作用就可以完全地避免。
