1. 程式人生 > 其它 >ES6小知識續集

ES6小知識續集

1:set的一些使用

 1 //建立set結構
 2 const arr = new Set()
 3 arr.add(30)
 4 arr.add(40)
 5 arr.add(50)
 6     //set裡面元素不能重複
 7 arr.add(30)
 8 console.log(arr);
 9 //應用場景 陣列去重
10 const arr1 = [10, 20, 10, 30, 40, 50]
11 const names = ['lili', 'qiiq', 'yaya']
12 const setarr1 = new Set(arr1)
13 const setarr2 = new Set(arr1)
14
//set支援展開運算子 15 const set2 = [...setarr1] 16 //轉換成為陣列 17 const set3 = Array.from(setarr1) 18 console.log(setarr1); 19 console.log(set2); 20 console.log(set3); 21 //size屬性 22 console.log(setarr1.size); 23 //set方法 24 setarr1.add(60) 25 setarr1.delete(20) 26 setarr2.clear() 27 setarr2.has(20) 28 setarr1.has(20)
29 //遍歷 30 setarr1.forEach(element => { 31 console.log(element); 32 }); 33 for (const item of setarr1) { 34 console.log(item); 35 }

 

 2:WeakSet和Set的區別

區別:只能儲存物件型別,不能存放基本資料型別 WeakSet物件是一個弱引用

從根物件開始,有引用指著就不會被回收

強引用 strong reference 在GC回收時候是有效的

弱引用 weak reference GC不把弱引用當條線

總結弱引用:通過線獲取值,但是可以直接回收

應用場景:想要只能建立的物件才能呼叫某方法