的块外访问
示例1 :结果是我所期望的。
如果我们在块内声明let
,则不应从外部访问范围。
{
let privateScope = 1;
function thing() {
privateScope = 2
}
}
console.log(typeof privateScope); //undefined
示例2 :可以在范围之外访问变量!
{
let privateScope = 1;
}
console.log(typeof privateScope); // number
为什么可以从>示例2 ?
privateScope
{
let privateScope = 1;
}
console.log(typeof privateScope);
这是您在SO SOIPLET中进行ES2015检查的示例。正如您在运行时看到的那样,privateScope
是未定义的。我只能假设stackblitz在转移代码时正在做一些奇怪的事情,或者是配置错误。