コンテンツへスキップ
uencoder

Hoisting

ホイスティング(Hoisting、巻き上げ)とは、JavaScript が変数宣言と関数宣言をスコープの先頭へ移動するかのように扱う動作である。var と function 宣言が巻き上げられる。

目的

JS の変数・関数宣言の巻き上げ挙動を理解し、未初期化変数への参照を避ける。

メカニズム

var 宣言は巻き上げられるが代入はされず(値は undefined)。function 宣言は丸ごと巻き上げられ(利用可能)。let/const 宣言も巻き上げられるが一時的デッドゾーン(TDZ)に入り、初期化前にアクセスすると例外を投げる。

ユースケース

  • JavaScript の理解
  • デバッグ
  • コードスタイル

References