2023/01/03

ES6 var vs let vs const

var:用於全域變數或頂層變數,頂層變數在瀏覽器指的是window,Node.js指的是global;優先級最大,再全域和區域有相同命名則會優先以全域為主。預設為undefined,允許相同變數名稱同時存在

let:用於區域變數,可在該區域隨時改變值。不允許相同變數同時存在

const:用於區域變數,值不可變動,強制一定要賦予值。不允許相同變數同時存在

let使用時機:字串、數值、undefined、null、symbol,值更改時會更改原先記憶體位址
const使用時機:Map、Set、Array、function、Object,值更改時不會改變原先記憶體位址

參考資料:
https://en.wikipedia.org/wiki/ECMAScript