いろいろなプログラミング言語を学ぶ中で、関数について学んだあとは、スコープについて学びます。スコープとは、有効範囲のことです。ある変数を宣言、定義した際に、それが利用可能な有効範囲があります。有効範囲を逸脱するとエラーになる場合がほとんどです。

変数のスコープ

3年以上前に更新されました。情報が古い可能性があります。
更新日 : 2019年03月06日

いろいろなプログラミング言語を学ぶ中で、関数について学んだあとは、スコープについて学びます。スコープとは、有効範囲のことです。ある変数を宣言、定義した際に、それが利用可能な有効範囲があります。有効範囲を逸脱するとエラーになる場合がほとんどです。

スコープの種類

基本的なものには2種類存在します。プログラミング言語ごとに差はあるので、大まかにこの2種類があるという認識で構いません。

  • ローカルスコープ
  • グローバルスコープ

ローカルスコープ

まずローカルスコープに関しては、プログラミングで多用される中括弧{}を基準に考えるという認識で良いです。この中括弧{}で囲まれた部分をブロックといいます。
例外も存在しますが、コードが読みづらくなることが多いので例外はあまり考えなくてもいいかと思います。

ローカルスコープで変数を利用することで変数自体の値を短い範囲でのみ気にすれば良いので、コードも読みやすくなります。

グローバルスコープ

ローカルスコープというブロック単位で使用できるエリアが限られているスコープに対して、プログラム全体で利用できるスコープをグローバルスコープといいます。

一度宣言してしまうとどこでも使用できてしまうため、グローバルスコープとして宣言した変数を頻繁に書き換えたりしてしまうと、コードのどの部分でどんなデータが入っているかを認識するのが難しくなってしまうため、あまり多用はされません。

書き換える必要の無いデータ(全体の設定値 etc…)などにグローバルスコープで宣言し、使うようにすることで有効に使うことができます。