ホイスティング
変数や関数の宣言が、コンパイル時にスコープの先頭へ「巻き上げ」られるJavaScriptの現象。
var xはコードの実行前に宣言されるが、値の代入は書かれた位置で行われる。function f()は定義ごと巻き上げられる。let/constも巻き上げ自体はされるものの、「TDZ」(一時的デッドゾーン)に入るため、宣言前には使えない。JavaScriptの古典的な落とし穴だ。
変数や関数の宣言が、コンパイル時にスコープの先頭へ「巻き上げ」られるJavaScriptの現象。
var xはコードの実行前に宣言されるが、値の代入は書かれた位置で行われる。function f()は定義ごと巻き上げられる。let/constも巻き上げ自体はされるものの、「TDZ」(一時的デッドゾーン)に入るため、宣言前には使えない。JavaScriptの古典的な落とし穴だ。