1.let的用法类似于var。不过,所声明的变量,只在let命令所在的代码块内有效。
2.let不存在变量提升
3.暂时性死区:在代码块内,使用let命令声明变量之前,该变量是不可用的。
4.不允许重复声明。不允许在相同作用域内,重复声明同一个变量。因此,不能在函数内部重新声明参数。
//报错
function (){
let a = 10;
var a = 10;
}
//报错
function(){
let a =10;
let a = 10;
}
function fun(arg){
let arg;//报错
}
function fun(arg){
{
let arg; //正确,不会报错
}
}