正解は変数や関数の宣言がスコープの先頭に移動したように振る舞う現象です。functionキーワードによる関数宣言は呼び出しより後に記述しても動作しますが、let/constで宣言された変数は宣言前にアクセスするとエラー(ReferenceError)になります。