进入了es6的学习,首先我想到的就是let,var,const他们之间的区别:
1. var声明变量可以重复声明,而let不可以重复声明
2.var是不受限于块级的,而let是受限于块级
3. var会与window相映射(会挂一个属性),而let不与window相映射
4.var可以在声明的上面访问变量,而let有暂存死区,在声明的上面访问变量会报错
5.const声明之后必须赋值,否则会报错
6.const定义不可变的量,改变了就会报错
7.const和let一样不会与window相映射、支持块级作用域、在声明的上面访问变量会报错
对于箭头函数与普通函数的区别如下:
1.this是静态的,this始终指向函数声明时所在作用域于下的this的值
2.不能作为构造函数实例化对象
3.不能使用arguments变量(arguments变量可以获取实参)
4.不可以使用yield命令,因此箭头函数不能用作 Generator 函数
Set和Map的区别:
应用场景Set用于数据重组,Map用于数据储存
Set:
1.成员不能重复
2.只有键值没有键名,类似数组
3.可以遍历,方法有add, delete,has
Map:
1.本质上是健值对的集合,类似集合
2.可以遍历,可以跟各种数据格式转换