let
用于声明变量,其用法类似于var,但是所声明的变量只在let
命令所在的代码块中有效
《ES6标准入门》
应用场景:
for (var i = 0; i < 3; i++) {}
console.log(i) // 输出3
for (let i = 0; i < 3; i++) {}
console.log(i) // 输出undefined
let
只应用与for循环内部,可在当前代码块下进行操作访问
var
支持当前代码块和子代码块操作
{
let a = 1
{
console.log(a) // 输出undefined
}
console.log(a) // 输出a
}
{ //该行为又被称作,暂时性死区
console.log(a) // 输出 ReferenceError
let a = 1
}
暂时性死区:
function demo(x = y , y = 2){ // 即在未定义y的情况下使用y这个值
return [x,y]
}
demo()
const
用于声明变量,一旦声明,其值不能改变。
if (true) {
const Max = 5
Max = 5 //RefrenceError 暂时性死区
}