ES6
一、var和let,const的区别
1.let,const不存在变量提升
2.let,const不能在一作用域下重复定义同一个名称的变量
3.var是函数作用域,let,const是块级作用域(即一对花括号为一个作用域)
const,定义一个只读的常量,一旦定义就不能再改变这个常量的值。但是数组,对象,这种引用类型除外。
二、set和map
set相当于数组,但是里面的值是唯一的
数组去重:
var a=[1,2,3,4,1,3,5];
var b=[...new Set(a)];
map相当于对象
const m=new Map();
m.set("姓名","张三").set("年龄",15);
//for of
for(let [key,value] of m){}
三、箭头函数
1.箭头前面是参数,只有一个参数时可以省略小括号,没有参数或者有多个参数时,要用小括号括起来
v=>a+b;
等同于 function(v){
return a+b;
}
2.如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,只有一条语句就可以省略
3.如果箭头函数直接返回一个对象,必须在大括号外面加上小括号,否则会报错
id=>{id:id,name:"xh"}; //报错
id=>({id:id,name:"xh"}); //不报错