前端培訓面試題分析-Set、Map、WeakSet 和 WeakMap 的區別

1.Set

ES6 提供了新的數據結構 Set。它類似于數組,但是成員的值都是唯一的,沒有重復的值。

Set本身是一個構造函數,用來生成 Set 數據結構。

成員唯一、無序且不重復;

[value, value],鍵值與鍵名是一致的(或者說只有鍵值,沒有鍵名);

可以遍歷,方法有:add、delete、has。

2.WeakSet

WeakSet 結構與 Set 類似,也是不重復的值的集合。但是,它與 Set 有兩個區別。

成員都是對象;

成員都是弱引用,可以被垃圾回收機制回收,可以用來保存 DOM 節點,不容易造成內存泄漏;

不能遍歷,方法有 add、delete、has。

3.Map

JavaScript 的對象(Object),本質上是鍵值對的集合(Hash 結構),但是傳統上只能用字符串當作鍵。這給它的使用帶來了很大的限制。

可以遍歷,方法很多,可以跟各種數據格式轉換。

4.WeakMap

WeakMap結構與Map結構類似,也是用于生成鍵值對的集合。

只接受對象最為鍵名(null 除外),不接受其他類型的值作為鍵名;

鍵名是弱引用,鍵值可以是任意的,鍵名所指向的對象可以被垃圾回收,此時鍵名是無效的;

不能遍歷,方法有 get、set、has、delete。

想要了解跟多關于前端培訓課程內容歡迎關注尚硅谷前端培訓,尚硅谷除了這些技術文章外還有免費的高質量前端培訓課程視頻供廣大學員下載學


上一篇:
下一篇:
關于尚硅谷
教育理念
名師團隊
學員心聲
資源下載
視頻下載
資料下載
工具下載
加入我們
招聘崗位
崗位介紹
招賢納師
聯系我們
電話:010-56253825
郵箱:[email protected]
地址:北京市昌平區宏福科技園綜合樓6層(北京校區)

 深圳市寶安區西部硅谷大廈B座C區一層(深圳校區)

上海市松江區谷陽北路166號大江商廈6層(上海校區)

易发8键奔驰宝马出分规律