重复声明

同一作用域内Let和const不能重复声明同一个值
let a=1 ; let a =2 这样是不被允许的,但var可以,最后一个var声明的值会覆盖之前的

常量和变量

const 声明的是常量,常量不能被修改,不过可以const数组对象,这样值就可以变了。
letvar声明的是变量,可以被修改

声明提前

var有声明的提前,const let没有,所以在const和let声明之前,使用声明的值会报错,var会显示undefined,不报错,另外for循环里用var也会提前到for前面,所以用let

作用域

const let 是块级作用域