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不把弱引用当条线
总结弱引用:通过线获取值,但是可以直接回收
应用场景:想要只能创建的对象才能调用某方法