JSColumn スコープ
スコープとは
スコープ(Scope)とは、変数や関数がアクセス可能な範囲やコンテキストを指します。JavaScriptにおけるスコープは主に二種類に分けられます:グローバルスコープとローカルスコープ(関数スコープおよびブロックスコープ)です。
グローバルスコープ (Global Scope)
グローバルスコープにある変数や関数は、プログラムのどこからでもアクセス可能です。グローバルスコープの変数はプログラム全体で共有されるため、多用すると名前の衝突や予期せぬ挙動を引き起こすリスクがあります。
javascriptCopy code
var globalVar = "これはグローバル変数です";
function myFunction() {
console.log(globalVar); // "これはグローバル変数です" が出力される
}
myFunction();
ローカルスコープ (Local Scope)
ローカルスコープにある変数や関数は、そのスコープ内でのみアクセス可能です。ローカルスコープは関数スコープとブロックスコープの二つに分かれます。
関数スコープ (Function Scope)
関数スコープは、関数内で宣言された変数が関数内部でのみアクセス可能であることを意味します。var
で宣言された変数は関数スコープを持ちます。
javascriptCopy code
function myFunction() {
var localVar = "これはローカル変数です";
console.log(localVar); // "これはローカル変数です" が出力される
}
myFunction();
console.log(localVar); // エラー: localVarは定義されていない
ブロックスコープ (Block Scope)
ブロックスコープは、if
文、for
ループ、while
ループなどのブロック内で宣言された変数がそのブロック内部でのみアクセス可能であることを意味します。let
とconst
で宣言された変数はブロックスコープを持ちます。
javascriptCopy code
if (true) {
let blockVar = "これはブロック変数です";
console.log(blockVar); // "これはブロック変数です" が出力される
}
console.log(blockVar); // エラー: blockVarは定義されていない
スコープを理解することは、変数の可視性とライフタイムを管理し、名前の衝突や予期せぬ挙動を避けるために非常に重要です。適切なスコープを使うことで、プログラムがより読みやすく、保守しやすくなります。