Let

由于变量在定义是会声明提升,即声明会被视为存在于其所出现的作用域的整个范围内.但是使用let进行的声明不会再快作用域中进行提升.声明的代码被运行之前,声明并不存在.

{
  console.log(a);
  var a;        //undefined
      }

{
  console.log(a);
  let a;      //ReferenceError
      }

{
}

你可能感兴趣的:(Let)