Consider the file sample.es6
switch (1) {
    case 1:
        const foo = 1;
        break;
    case 2:
        const foo = 2;
        break;
}
If I run it with Node I got
$ 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
Why I'm getting this error? Node shouldn't evaluate const foo = 2;.
 
     
     
     
     
    