图/weakmap详细的解决方案ecmascript6

JS本身的对象是一个关键的结构,以及为什么ES6需要添加地图,它和普通的JS对象之间的区别是什么

1。地图

1。地图的构造函数

先看看地图的简单用法


作为键、js和类似对象的字符串
新地图()

map.set('name',约翰)
map.set(年龄,29)

map.get('name') / /约翰
map.get(时代的) / 29



所以在代码上,它看起来并不是一个简单的js对象。

但是地图的力量在于它的钥匙可以是任何类型的。


为对象 / /关键演示
var:10,y:20 }坐标
100,200,宽度和高度
新地图()

map.set(xy坐标)
map.set(WH、宽高)

map.get(XY)/坐标
map.get(WH)/宽度



上面演示了使用对象作为键的映射。



映射构造函数还支持数组模式。


var map =新映射(name

键遍历
(map.keys VaR为的关键()){
console.log(关键)/姓名、年龄
}




2。迭代

比如,对于用于迭代图,关键map.keys()调用,调用的值map.values(),和关键的价值实体调用map.entries()。


新地图()

map.set('name',约翰)
map.set(年龄,29)

map.get('name') / /约翰
map.get(时代的) / 29

键遍历
(map.keys VaR为的关键()){
console.log(关键)
}

值遍历
对于(VaR Val map.values()){
console.log(Val)
}

实体遍历
对于(VAR ARR的map.entries()){
console.log(关键:+ ARR { 0 } +,值:+ ARR { 1 })
}

/实体-遍历
对于(var { }的关键,Val map.entries()){
console.log(关键:+键+,值:+ Val)
}





三.方法和属性



二、WeakMap

与地图的区别

不要接受基本类型作为键的值。

没有键、值、条目和大小

有以下几种方法



以上是本文的全部内容,希望大家能喜欢。