流年*https://i.cnblogs.com/files

es6 set weakset map weakmap

//es6提出新的数据类型结构 set map weakset  weakmap

//set类似数组 其值是不能重复是唯一的。set函数可以接收数组或者其他有iterator接口的数据作为参数
var x=new Set()
console.log(typeof x);//object
[1,2,1,5,3,4,5,6].forEach((v,i,a)=>{
  x.add(v)
})
//使用set add方法添值
console.log(x);  //Set(6) { 1, 2, 5, 3, 4, 6 }
for(i of x){
    console.log(i); //1,2,5,3,4,6
}
//2个实例属性

Set.prototype.constructor//构造函数,默认就是Set函数。
Set.prototype.size//返回Set实例的成员总数。
//set 4个操作方法
Set.prototype.add(value)//添加某个值,返回 Set 结构本身。
Set.prototype.delete(value)//删除某个值,返回一个布尔值,表示删除是否成功。
Set.prototype.has(value)//返回一个布尔值,表示该值是否为Set的成员。
Set.prototype.clear()//清除所有成员,没有返回值。
//4个实例方法
Set.prototype.keys()//返回键名的遍历器
Set.prototype.values()//返回键值的遍历器
Set.prototype.entries()//返回键值对的遍历器
Set.prototype.forEach()//使用回调函数遍历每个成员


//weapset 成员只能是对象,值也是唯一的。
 const ws = new WeakSet();

//ES6提供了Map 数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键.
//而对象中的健只能是字符串。
const m = new Map();
const o = {p: 'Hello World'};
m.set(o, 'content')
console.log(m); //Map(1) { { p: 'Hello World' } => 'content' }



//weapmap只接收对象作为健名
const z=new WeakMap()


``

posted on 2021-01-12 11:54  流年*  阅读(63)  评论(0编辑  收藏  举报

导航