Hoisting
ホイスティング(Hoisting、巻き上げ)とは、JavaScript が変数宣言と関数宣言をスコープの先頭へ移動するかのように扱う動作である。var と function 宣言が巻き上げられる。
目的
JS の変数・関数宣言の巻き上げ挙動を理解し、未初期化変数への参照を避ける。
メカニズム
var 宣言は巻き上げられるが代入はされず(値は undefined)。function 宣言は丸ごと巻き上げられ(利用可能)。let/const 宣言も巻き上げられるが一時的デッドゾーン(TDZ)に入り、初期化前にアクセスすると例外を投げる。
ユースケース
- JavaScript の理解
- デバッグ
- コードスタイル