<分区>
考虑文件 sample.es6
switch (1) {
case 1:
const foo = 1;
break;
case 2:
const foo = 2;
break;
}
如果我用 Node 运行它,我得到了
$ node --version
v4.2.11
$ node sample.es6
/tmp/sample.es6:6
const foo = 2;
^
SyntaxError: Identifier 'foo' has already been declared
at Object.<anonymous> (/tmp/sample.es6:1:11)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:467:10)
at startup (node.js:134:18)
at node.js:961:3
为什么会出现此错误? Node 不应评估 const foo = 2;
。