【发布时间】:2017-05-31 03:37:44
【问题描述】:
我想知道提交给babel-node 的两行 JavaScript 代码之间保存了哪些状态。我的困惑是因为如果你写了两行代码,你可以覆盖一个变量定义而不会出错。例如,使用babel-node --presets es2015,您可以:
> const a = 1;
undefined
> let a = 2;
undefined
现在如果你把它写成一行,你会得到一个错误:
> const a = 1; let a = 2;
TypeError: repl: Duplicate declaration "a"
...
似乎在第一种情况下,a 定义为1(const 变量赋值)的状态丢失了(直到第二次赋值),而在第二种情况下,它保持不变.
是什么导致了这里的差异?以及维护哪些状态?
【问题讨论】:
标签: javascript node.js ecmascript-6 babeljs