名前付き関数式の巻き上げ
名前付き関数式も同様に、変数名は巻き上げられますが、関数名や関数本体は巻き上げられません。
`var named = function superPower() {}` の場合、`named` という変数名だけが巻き上げられます。関数名である `superPower` は、その関数自身の内部から再帰的に呼び出す場合にのみ有効で、外部スコープからはアクセスできません。
名前付き関数式も同様に、変数名は巻き上げられますが、関数名や関数本体は巻き上げられません。
`var named = function superPower() {}` の場合、`named` という変数名だけが巻き上げられます。関数名である `superPower` は、その関数自身の内部から再帰的に呼び出す場合にのみ有効で、外部スコープからはアクセスできません。
function example() {
console.log(named); // => undefined
named(); // => TypeError named is not a function
var named = function superPower() {
console.log('Flying');
};
}function example() {
var named = function superPower() {
console.log('Flying');
};
console.log(named); // => [Function: superPower]
named(); // => 'Flying'
}