Discuss / JavaScript / 变量提升 好像只针对var声明的全局变量,let声明的就会报错

变量提升 好像只针对var声明的全局变量,let声明的就会报错

Topic source
function foo(){
    var x="a"+y;
    console.log(x);
    let y = "b";
}
foo(); //ReferenceError: Cannot access 'y' before initialization

确实是这样,我感觉var就像==一样,正在被抛弃。我用webstorm写JavaScript用var时都会提示用let和const替换。


  • 1

Reply