Sont les variables déclarées à laisser ou const pas hissé dans ES6?

J'ai été jouer avec ES6 pendant un certain temps et j'ai remarqué que, bien que les variables déclarées avec var sont hissés comme prévu...

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

...les variables déclarées avec let ou const semblent avoir quelques problèmes avec levage:

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

et

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

Est-ce à dire que les variables déclarées avec let ou const ne sont pas hissé? Ce qui se passe vraiment ici? Quelle est la différence entre let et const dans cette affaire?

InformationsquelleAutor Luboš Turek | 2015-07-04