質問: let、var、constの使い分けについて調べていたところこちらのサイトにたどり着きました。 とても参考になりましたが、一つ疑問があります。 関数スコープ内で宣言前に変数に接続するとundifinedが返ってきたのに、なぜES2015でreference errorが返るようになったのでしょうか。
回答: ### Temporal Dead Zone (TDZ) `let`, `const` は **Temporal Dead Zone (TDZ)**によって変数が管理されており、関数呼び出し時に `undefined` で初期化される `var` 文とは仕組みが異なるからです。 * Temporal dead zone と let に関するエラー - JavaScript | MDN Re: aaaaaaaa さん