JavaScriptのホイスティング

JavaScriptのホイスティング(巻き上げ)を体験する。JavaScriptでは関数スコープというものを使って変数を宣言するが、関数内のどこで宣言された変数でも関数内であれば既に宣言されているということにるらしい。

var foo = 'global';
(function() {
console.log(foo);
var foo = 'local';
console.log(foo);
})();
console.log(foo);
// undefined
// local
// global

このように宣言時に代入される文字列こそ取得できないものの、既に変数が宣言されているのと同様の結果を得られる。

変数は宣言しただけではundefinedになる

var foo;
console.log(foo);
// undefined

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA