如上所示,变量在声明错误后被锁定在控制台中。我既不能分配也不能重新声明它。
但是,使用“ var”时一切正常。在this answer中,@ ThinkingStiff对此进行了解释:
重新声明:
假设采用严格模式,则var可以让您在同一范围内重新声明相同的变量。另一方面,让我们不要。
所以我想知道“ let”的什么功能会产生这种锁。
我的猜测:“ let”首先创建一个时间盲区,然后通过 one 操作(一个连续序列)将其分配给所有语句。赋值语句中发生的错误没有打破死区。
ps。我正在使用Chrome 71。