对于set map WeakSet WeakMap 的理解

var setA = new Set(); //伪数组 不可重复性 唯一的
setA. add([ 1, 2]);
setA. add([ 3, 4]);
setA. add( 5);
for( let [ key, val] of setA. entries()){
console. log( key, val);
}
setA. forEach(( key, val) =>{
console. log( key, val);
})
console. log( "长度为:"+ setA. size);
console. log( setA. has( 5));
console. log( setA. delete( 5) );
//setA.delete( [3,4] ) 不可以
console. log( setA);
setA. clear();
console. log( setA);
console. log( "=============================================");

var wset = new WeakSet(); //类似 set 官方推荐里面存json。 weakset 中没有 只能存json 且没有size 长度
wset. add({ "a" : "1"})
console. log( wset);
console. log( wset. size)
wset. add( 1);
console. log( wset);



console. log( "=============================================");

var mapA = new Map() //伪对象 key 可以传入一个变量 可以是任意类型
const json = {
"name" : "asurson",
"age" : 18
}
mapA. set( "a", "aa");
mapA. set( "b", "bb");
mapA. set( "c", "cc");
mapA. set( json, "dd");
console. log( mapA);
console. log( mapA);
console. log( mapA. get( json));
mapA. delete( "c");
console. log( mapA);
console. log( mapA. has( "c"));
console. log( mapA. has( json));
mapA. clear();
console. log( mapA);
console. log( "=============================================");

var wmap = new WeakMap(); //key 只能是对象
const jsonMap = {
"a" : "1"
}
wmap. set( jsonMap, true);
console. log( wmap);
wmap. set( "a", "123");
console. log( wmap);

你可能感兴趣的:(前端)