let是ES5时的关键字,存在变量提升机制;而var和const是ES6时的关键字,不存在变量提升机制。在这里不需要知道ES5/6的知识,只需要在使用这三个关键字时知道各自的使用规则就好。
var、let、const主要的不同如下三点:
1.var和let在声明一个变量时,可以修改变量的值。但对于同一个变量,var可以反复声明,但let只能声明一次。若let对于同一个变量声明两次,则会报错如下:


2.let只能在使用之前进行声明;而var在任何地方定义时,会首先将var变量提升到最开始执行(变量提升),如下:


3.const声明一个只读的常量,一旦声明,常量的值就不能改变,如下所示:

