Hacker News new | ask | show | jobs
by Cthulhu_ 3253 days ago
let / const are both hoisted though, they're just hoisted to the top of the current block scope instead of function scope.
2 comments

From the MDN docs:

"In ECMAScript 2015, let bindings are not subject to Variable Hoisting, which means that let declarations do not move to the top of the current execution context."

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

Sort of, but the effect is very different due to the "temporal dead zone." Attempting to access a variable declared with `let/const` or const before the declaration will throw an error, vs just getting `undefined` for a variable declared with `var`.
I'm a bit confused. What does "hoisted" mean in this context if accessing the variable before declaration will throw an error?