I think let and const will actually be hoisted in their scope
Author: DanielWLamCreated Jan 25, 2017Updated Feb 18, 2017
when you declare a variable with var, it will be hoisted and set value as undefined. I think let and const are so similar but they are passed the default value 'ReferenceError'
Source: DrkSephy/es6-cheatsheet