我已经玩了一段时间的ES6,我注意到,而变量声明与var被提升的预期…
console.log(typeof name); // undefined
var name = "John";
...使用let或const声明的变量似乎在提升时存在一些问题:
console.log(typeof name); // ReferenceError
let name = "John";
and
console.log(typeof name); // ReferenceError
const name = "John";
这是否意味着用let或const声明的变量不会被提升?这到底是怎么回事?let和const在这个问题上有什么区别吗?