1.let
只在其自身所在的代码块中有效。与var不同,var可以多次声明同一个变量,但是const在同一个作用域中相同变量只能声明一次,否则控制台会报错。可以声明不赋值,但是变量只能在声明后使用,在相同代码块中用let声明的变量可以被修改。案例:
当块级没有函数时就没有作用域,如for循环中var声明的变量可以在上一级中使用,但是用let声明块级作用域中的变量时用{}括起来就不会被外部使用。
2.const
与let用法相似,const声明一个只读的常量,一旦声明,常量的值就不能改变,并且变量在声明时就应该被赋值,不然变量就是undefined。
虽然不能直接改变const声明的变量的值,但是可以改变变量的属性。