1.var、let、const之间的区别
- 1.var没有块级作用域的限制;let,const受块级作用域限制;
- 2.var可以重复声明;let,const不能重复声明;
- 3.const声明后必须赋值,并且值不可修改;
2.箭头函数代替function函数
- (1)用了箭头函数,this就不是指向window,而是父级(指向是可变的)
- (2)不能够使用arguments对象 ;
- (3)不能用作构造函数;
3.使用模版字符串来扩展增强字符串的用途;
let str = '你好,${name} 已经 ${age}岁了'
4.新增class语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法;
5.使用结构赋值,实现两个变量的值的交换
let a = 1;let b = 2;
[a,b] = [b,a];
6.ES6对Array数组类型做的常用升级优化,增加扩展运算符;
7.支持Promise,async/awiwt等异步方法;
问题:
1.Promise 中reject 和 catch 处理上有什么区别
reject 是用来抛出异常,catch 是用来处理异常
2.forEach、for in、for of三者区别
- forEach更多的用来遍历数组
- for in 一般常用来遍历对象或json
- for of数组对象都可以遍历,遍历对象需要通过和Object.keys()
- for in循环出的是key,for of循环出的是value