Sind Variablen, die mit let oder const deklariert wurden, in ES6 nicht hochgezogen?

Ich spiele seit einiger Zeit mit ES6 und habe festgestellt, dass while-Variablen mit @ deklariert wurdevar werden wie erwartet gehisst ...

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

... mit @ deklarierte Variabllet oderconst scheint Probleme mit dem Heben zu haben:

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

un

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

Bedeutet dies, dass mit @ deklarierte Variabllet oderconst sind nicht gehisst? Was ist hier wirklich los? Gibt es einen Unterschied zwischenlet undconst in dieser Angelegenheit

Antworten auf die Frage(6)

Ihre Antwort auf die Frage