今天看阮一峰的ES6的时候,上面示例代码说let声明的变量会被绑定在当前区域,也就是如下但是,我自己打代码测试的时候却都可以输出,左边是输出结果,右边是我写的代码我是在webpack中打包时用babel-loader转化es6,然后再在浏览器显示的,是webpack的原因吗?
1 回答

动漫人物
TA贡献1815条经验 获得超10个赞
是编译造成的
let会被编译成var
这里只是告诉你,var和let一起使用的后果,实际上,你只使用其中一种最好
如果你只是想体验报错。。直接写在html里就行了
var tmp = 123; if (true) { tmp = 'abc'; console.log(tmp); let tmp; }
chorme浏览器高版本可以直接运行ES6的let,你会看到输出
Uncaught ReferenceError: tmp is not defined(…)
添加回答
举报
0/150
提交
取消