繁体   English   中英

用“ let”关键字阻止作用域

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM