跳到主要內容
前端開發

JavaScript ES6:var、let 與 const

2020 年整理的 var、let 與 const 變數宣告及作用域筆記。

W

這邊記錄 varletconst 變數之間差異。

var 宣告

使用 var 宣告變數時,會先在記憶體裡面存取空間。

開發者工具使用 var 宣告 test 變數,宣告結果顯示 undefined

var 與 let 的作用域

var 在 function 裡宣告,作用域是 function scope;let 的作用域是 block。

var 與 let 在 if 區塊中的作用域比較,var 會影響外層變數,let 不會

下面比較 varlet 在迴圈裡的差異。

for 迴圈分別使用 var 與 let,var 成為全域變數並輸出 10,let 依序輸出 0 到 9

const 常數

const 宣告的變數不能被更換。

重新指定 const 變數時出現 Assignment to constant variable 錯誤

物件本身是傳參考而不是傳值,因此物件內的屬性仍然可以修改。

const 宣告物件後修改 a2 屬性,物件內容由 456 變成 222

結論

作用域預設使用 const,需要重新賦值時才使用 let

分享這篇