
70
3 章 JavaScript における変数のスコープとクロージャ
グローバルスコープから始めます。
3.1
グローバルスコープ
スコープが
広がる範囲
は変数の生存期間を意味します(つまり、変数がある値をど
のくらい長い間保持し続けるか)。本節では、
JavaScript
における一番長い生存期間、
すなわちプログラム自体と同じ生存期間を持つグローバルスコープ(
global scope
)
の変数から始めます。
JavaScript
では、次の変数はグローバルスコープを持ちます。
aGlobalVariable = 'livin la vida global';
JavaScript
では、
var
キーワードを伴わない変数の宣言はグローバルスコープに生
成されます。グローバルスコープを別の言葉で表すと、プログラム中のすべての関数
やメソッドからアクセスできるスコープです。次のコードを参照してください。
_.map(_.range(2), function() { return aGlobalVariable; });
//=> ["livin la vida global", "livin la vida global"]
このように、
_.map
に渡された無名関数の中から
aGlobalVariable
変数にアクセス
することができました。グローバルスコープは単純に理解でき、
JavaScript
プログ
ラムでは(素晴らしい効果を伴って)利用される機会も多くあります。
Underscore
は
_
(アンダースコア)という名前のグローバル変数を生成し ...