ES5和ES6的区别
1、es6新增了箭头函数,es5没有;
2、ES6中新增了块级作用域,es5没有;
3、ES6引入Class概念,不再像ES5一样使用原型链实现继承;
4、ES6中可以设置默认函数参数,es5不行;
5、ES6中新增了promise特性。
ES5的var和ES6的let、const的相同与不同
相同点:
在全局声明的变量是全局变量,在局部声明的变量是局部变量
不同点:
1、let声明的变量不能提升
2、let声明的变量不能重复声明
3、let声明的变量只在当前块作用域中有效
4、let声明的变量会产生暂时性的死区,只能在当前块作用域查找。
const
1、const声明的变量必须赋初值
2、const声明的变量是常量,不能发生改变。
3、const声明的变量不能提升
4、const声明的变量不能重复声明
5、const声明的变量只在当前块作用域中有效
6、const声明的变量会产生暂时性的死区,只能在当前块作用域查找。