let
let 声明的变量在代码块内有效
1 | var a []; |
不存在变量提升
var 命令的变量可以在声明之前使用,值为 undefined
暂时性死区
在代码块内,使用 let 命令声明变量之前,该变量都是不可用的。TDZ(temporal dead zone)
1 | var temp = 123 |
有些死区是不易发现的
1 | function bar(x = y, y = 2) { |
不允许重复声明
1 | function foo() { |
1 | var a []; |
var 命令的变量可以在声明之前使用,值为 undefined
在代码块内,使用 let 命令声明变量之前,该变量都是不可用的。TDZ(temporal dead zone)
1 | var temp = 123 |
有些死区是不易发现的
1 | function bar(x = y, y = 2) { |
1 | function foo() { |