什么是暂时的死亡区?
我听说在声明之前访问let
和const
值可能会导致一个ReferenceError
因为有些东西叫做时间盲区 。
什么是暂时的死亡地带,它是如何涉及范围和提升,在什么情况下遇到?
let
和const
与var
有两个很大的区别:
- 他们是块范围 。
- 在声明前访问一个
var
的结果是undefined
; 在声明之前访问let
或const
throwsReferenceError
:
console.log(aVar); // undefined console.log(aLet); // causes ReferenceError: aLet is not defined var aVar = 1; let aLet = 2;