当前位置:首页 > 博客 >Javascript > 正文

let 存在声明提升么?

时间:2019-06-13 09:51   作者:admin   点击:

上次面试被问let、const特性,我一直理解都是let、const不存在变量提升,可是面试官并不认同这种说法,过后我去查阅资料,发现这是一个有争议的地方。

之前MDN也是支持不存在提升的,后面修正成现在这个版本了。

因为如果不存在提升,你解释不了下面的代码:

let a = 1;
{
  a = 2;
  let a;
}

// 这里是会报错的,如果不存在提升那么应该改变外面的a

MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/let#let_的暂存死区与错误