ES6的新特性
一、let, const与var的区别
1、let, const 不存在变量提升。
2、let, const 在同一个作用域下不能重复定义相同的变量名称。
3、let, const 有严格的作用域, 块级作用域。var 则是函数作用域。
4、const 声明一个只读的常量,一旦定义,常量的值不能改变。
5、const 一旦定义,一定要初始化。
二、箭头函数
是语法糖,简化了函数的定义。
let f = v => v;
相当于
var f = function(v) {
return v;
}
三、Set, Map 数据结构
1、Set - 类数组,成员唯一,可用于去重。
var s = new Set();
s.add(1).add(4).add(5);
var arr = [1,2,3];
var s2 = new Set(arr);
console.log(s2); // {1,2,3}
var arr2 = [1,2,2,4];
var s3 = [...new Set(arr2)]; // 数据去重,去重之后返回的还是数组。
2、Map - 类似于对象,键值对的方式,可以用for of进行循环遍历
let m = new Map();
m.set('name', '高高‘).set('age',18).set('value',100);
let m2 = new Map([['name','高高’],['a','a'],['b','b']]);
for (let [k,v] of m2) {
}