var map1=new Map(); var keys={key:'val'}; map1.set(keys,'content'); ==> {Object {key: "val"} => "content"} map1.set('content',keys) ==> { "content" => Object {key: "val"} } map1.set(keys,keys) ==> { Object {key: "val"} => Object {key: "val"} }
从上面这段代码可以看出Map数据结构跟我们以前的Objct有什么区别
object只能string字符串作为键值,但是Map可以让对象作为键值
试一下,让对象作为Object的键值
var c={}; var b={key:'val'}; c[b]=1; ===> {[object Object]: 1}
可以看出识别不出来
当然 ES6的这个数据结构还有很多方法
Map可以使用Object的keys(),values(),entries(),forEach()等等啦,set当然对应的方法就是get()了
具体你还想了解更多的话可以再看看阮一峰的es6教程呀