ES6标准以及支持力度

 
 
各个浏览器对新特性的支持:https://kangax.github.io/compat-table/es6/
 
node各版本对新特性的支持:http://node.green/
 
Symbol.iterator
返回一个遍历器对象,其本身是一个表达式。
arr[Symbol.iterator]();
 
字符串,数组,map,set都实现了Iterator接口
 
 
Map与Object的不同:
Map结构提供了“值—值”的对应,是一种更完善的Hash结构实现。如果你需要“键值对”的数据结构,Map比Object更合适。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。
注意,只有对同一个对象的引用,Map结构才将其视为同一个键。这一点要非常小心。
复制代码复制代码
var map = new Map();
 
map.set(['a'], 555);
map.get(['a']) // undefined
上面代码的set和get方法,表面是针对同一个键,但实际上这是两个值,内存地址是不一样的,因此get方法无法读取该键,返回undefined。
如果Map的键是一个简单类型的值(数字、字符串、布尔值),则只要两个值严格相等,Map将其视为一个键,包括0和-0。另外,虽然NaN不严格相等于自身,但Map将其视为同一个键。
 
原文地址:https://www.cnblogs.com/wanglao/p/11162825.html