顯示具有 ECMAScript 標籤的文章。 顯示所有文章
顯示具有 ECMAScript 標籤的文章。 顯示所有文章

2023/01/03

ES6 Map vs Set

Set:是一種有順序性的集合數據結構;集合本身無順序性且相關聯,不重複存在的結構所組成的
Map:是一種字典結構;字典本身是一種元素的結合,每個元素有key和value

相同:可以儲存不重複的值且可迭代
不同:Set是儲存Value,Map是Key, Value

Set可透過...來Spread元素或者解構語法
Map可透過for...of,迭代出來會是key, value;也可透過...來解構語法

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