【JavaScript】ホイスティング(巻き上げ)とは

JavaScript

ホイスティング(巻き上げ)とは

変数や関数の定義(宣言)をコード実行前にメモリに配置すること。

メリット

定義する前に呼び出しても、問題なく実行されます(例:関数の定義よりも、実行を先に書く)。
以下のようなコードも実行可能です◎

findName("ゆず");

function findName(name) {
  console.log("あの人の名前は、" + name);
}

注意ポイント

関数を呼び出した後に、変数を含む定義や初期化を行うと、うまく実行されません。

例えば、以下のコードでは、console.log(name);はundefinedを返します宣言は巻き上げられるが、初期化は巻き上げられないからです。

console.log(name); 
var name; // 宣言
name = "ゆず"; // 初期化
タイトルとURLをコピーしました