ES6 一种新的数据结构--Map跟Objct的区别

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教程呀

原文地址:https://www.cnblogs.com/lwwen/p/7168838.html