[英]Block scope with “let” keyword
示例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);
这是您选中ES2015的SO片段中的示例。 如您所见,在运行它时, privateScope
是未定义的。 我只能假设在编译代码时StackBlitz所做的事情很奇怪,否则是配置错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.