CNode

vue-cli关于es6的问题

问答
Yyuanshuai007发布于8 年前最后回复8 年前2 回复3093 浏览0 收藏
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)

N
noe132#1·8 年前

babel转码后不是let定义的。是变成了var

var a = 1;
for (var i = 0; i < 3; i++) {
    console.log(_a);
    var _a = 2;
}

var有变量提升,所以不会报错。

Y
yuanshuai007#2·8 年前
引用 noe132babel转码后不是let定义的。是变成了var var有变量提升,所以不会报错。

@noe132 for里面就是a不是_a(块级作用域)。问题是把loader中的babel注释掉结果还是一样的???

参与回复
登录后即可参与回复。登录