×
科目A-1|アルゴリズムとプログラミング

大域変数 | 情報処理安全確保支援士試験

大域変数とは

大域変数(たいいきへんすう)とは、プログラムのどこからでも読み書きができる変数のことです。「グローバル変数」とも呼ばれます。これに対して、特定の関数や処理ブロックの内部だけでしか使えない変数を「局所変数(ローカル変数)」と呼びます。大域変数はプログラム全体の共通データ(アプリの設定やログイン中のユーザー情報など)を管理するのに便利ですが、どこからでも書き換えられてしまうため、意図しない場所で値が変更され、プログラムに予期せぬバグを引き起こす原因になりやすいというデメリットがあります。そのため、プログラム設計の際はできるだけ大域変数の使用を避け、局所変数を使うことが推奨されます。

具体例

ゲーム内でゲーム全体の難易度設定やプレイヤーの残りライフ数を管理する場面です。以下のプログラムのように、関数の外で定義された変数は大域変数となり、どの関数からでも値を変更したり参照したりできます。
let maxLife = 3; // 大域変数(グローバル変数)

function damage() {
  maxLife = maxLife - 1; // 関数の中から大域変数を書き換える
}
damage();
console.log(maxLife); // 結果は「2」になる

もう少し詳しく