,并且不可重复声明(不存在变量提升,所以用 let 定义的变量一定要在声明后再使用,否则会报错)
let 定义的变量,只能在块作用域中访问(也就是在花括号内访问),不能跨函数访问
const 用来定义常量...undefined
什么是暂时性死区
如果区块(花括号)中存在let命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域,凡是在声明之前就使用这些变量,就会报错,所以在代码块内,使用let命令声明变量之前...:sName is not defined
let sName = 'itclan';
}
当前作用域顶部到该变量声明位置中间的部分,都是该let变量的死区,在死区中,禁止访问该变量
所谓暂时性死区...,就是具有块级作用域,变量需要先声明,然后在使用,否则的话,就会报错,即使用typeof检测一个变量,会报错ReferenceError
typeof sName; // ReferenceError...let name;
只要块级作用域内存在 let 命令,它所声明的变量就绑定了这个区域,不再受外部的影响,在代码块中,使用let命令声明变量之前,该变量都是不可用的
玩一玩-搞清亲戚称谓关系