*Udemyの動画学習のアウトプット会!!*
ご参考程度に楽しんでいただければと思います♪
☆ホイスティング
コード実行前にメモリ上にコード内で使われる変数などがあらかじめ確保される!!仕組み
varとlet、constでは動きが違うので注意!!
☆varの場合
変数定義がされた時点でJavaScriptエンジンによって『undefind』で初期化される
→コード上でvarによる変数の定義前に呼び出した場合『undefind』
☆let・constの場合
vaeのような初期化は行われない
→定義前に呼ぶとエラーとなる
*また、functionもvarと同じように定義前に呼んでも問題なく実行される
※undefind:「値が未定義」という意味
→JavaScriptエンジンによって自動的に設定されてる特殊な値
var コード例)
console.log(a);
var a = 0;
これは、イメージとしてはvarのaだけ先に定義されている感じ。
var a;
console.log(a);
a = 0;
*あくまでイメージ。実際にvar aを宣言するわけではない
★まとめ★
コンテキストが生成されるごとにホイスティングが発生し、
『宣言部はメモリ上に展開される』
****************
ランキングに参加しています*応援いただけるとうれしいです