一:set创建
const array = [12,1,23,1,45,87];
const set = new Set(array)
console.log(set)
set.add(10)
set.add(20)
set.add(40)
console.log(set.size)
set.delete(12)
console.log(set)
console.log(set.has(1))
set.clear()
console.log(set)
二:weakset的基本使用
let obj = {
name: "why"
}
const set = new Set()
set.add(obj)
weakSet.add(obj)
const personSet = new WeakSet()
class Person {
constructor() {
personSet.add(this)
}
running() {
if (!personSet.has(this)) {
throw new Error("不能通过非构造方法创建出来的对象调用running方法")
}
console.log("running~", this)
}
}
let p = new Person()
p.running()
三:map的基本使用
const obj1 = { name: "why" }
const obj2 = { name: "kobe" }
const map = new Map([[obj1, "aaa"], [obj2, "bbb"], [2, "ddd"]])
console.log(map.size)
map.set("aaa",a);
var value1 = map.get("aaa");
console.log(map.has(obj1));
map.delete(obj1);
map.clear()
四:weakmap的基本使用
const obj = {name: "obj1"}
const map = new Map()
map.set(obj, "aaa")
const weakMap = new WeakMap()
weakMap.set(obj, "aaa")
console.log(weakMap.get(obj))
console.log(weakMap.has(obj))
console.log(weakMap.delete(obj))
console.log(weakMap)