今天我们就来一起学习一下Es6的一些基本用法,不喜勿喷。
1)、var可以重复声明,let只能声明一次,如果重复什么则提示has already been declared。var可以重复申明就会导致一个问题,全局变量污染,容易改变别人的代码逻辑。
2)、var有两个作用域,一个是块状作用域,一个是全局作用域。现在let,const都是块状作用域,何为块状作用域。如下图,外面无法访问。
3)、一般用const来申明常量,一旦申明就不允许修改了。let和const不能申明常量。
4)、变量提升问题:var可以进行变量提升并且初始化为undifined。提升至作用域的顶部。
其实let也是具有变量提升的。但是提升之后不进行初始化,形成暂时性死区。如下