ES6--let和const命令

1、let与const之间的区别:

  1)let可修改,const是常量不可修改;

2、let,const与var之间的区别:

  1)let,const不存在变量提升;所以不用担心预解释和作用域的问题;

  2)在同一个块级作用域下不允许重复声明同一个变量;

  3)ES6 允许在块级作用域内声明函数,

      函数声明类似于var,即会提升到全局作用域或函数作用域的头部,

      同时,函数声明还会提升到所在的块级作用域的头部;

  4)ES6为了保持兼容性,var命令和function命令声明的全局变量,依旧是全局对象的属性;另一方面规定,let命令、const命令、class命令声明的全局变量,不属于全局对象的属性。也就是说,从ES6开始,全局变量将逐步与全局对象的属性脱钩。

原文地址:https://www.cnblogs.com/snowhite/p/7744386.html