vue-cli关于es6的问题
let a=1;
for(let i=0;i<3;i++){
console.log(a);
let a=2;
}
在浏览器的控制台中运行会报错,原因我知道。 在vue-cli中运行会输出undefined,2,2。如果我把loader中的babel注释掉结果还是一样的
我想问的是为什么会这样?如何让vue-cli直接运行es6(让结果和控制台中的一样)?
2 回复
babel转码后不是let定义的。是变成了var
var a = 1;
for (var i = 0; i < 3; i++) {
console.log(_a);
var _a = 2;
}
var有变量提升,所以不会报错。
@noe132 for里面就是a不是_a(块级作用域)。问题是把loader中的babel注释掉结果还是一样的???