es封闭性死区

var tmp = 123;
if (true) {
tmp = 'abc'; // ReferenceError
let tmp;

}

当代码块中存在const和let变量时,就表示这个代码块中按照这个修饰符进行理解,所以此时tmp实际上不指向外部,而指向 let修饰的tmp,而let修饰的,没有变量提升

猜你喜欢

转载自blog.csdn.net/nimeghbia/article/details/80474805