As variáveis declaradas com let ou const não são içadas no ES6?

Eu jogo com o ES6 há um tempo e notei que enquanto as variáveis declaradas comvar são içadas conforme o esperado ...

console.log(typeof name); // undefined
var name = "John";

... variáveis declaradas comlet ouconst parece ter alguns problemas com o içamento:

console.log(typeof name); // ReferenceError
let name = "John";

e

console.log(typeof name); // ReferenceError
const name = "John";

Isso significa que variáveis declaradas comlet ouconst não são içadas? O que realmente está acontecendo aqui? Existe alguma diferença entrelet econst nesta matéria?

questionAnswers(3)

yourAnswerToTheQuestion