はじめに
JavaScriptを学んでいると、グローバル変数という言葉をよく耳にします。
初心者にとっては難しい印象を持っているかもしれませんが、グローバル変数は実際にはとても便利で強力な機能です。
この記事では、グローバル変数の基本的な使い方から応用例、注意点やカスタマイズ方法まで、わかりやすく徹底解説します。
JavaScriptを使い始めたばかりの初心者でも、この記事を読めばグローバル変数を使いこなせるようになるでしょう。
それでは、さっそくグローバル変数について学んでいきましょう。
●グローバル変数とは
○JavaScriptでの変数の種類
JavaScriptには、変数のスコープ(有効範囲)によって、グローバル変数とローカル変数の2種類があります。
グローバル変数は、プログラム全体でアクセスできる変数で、どの関数からでも参照・変更することができます。
一方、ローカル変数は、関数内でのみアクセスできる変数で、関数外からは参照・変更できません。
●グローバル変数の作り方
○グローバル変数の宣言方法
グローバル変数を宣言するには、変数を関数の外で宣言します。
次の例では、globalVar
というグローバル変数が宣言されています。
○関数内でのグローバル変数の宣言
関数内でグローバル変数を宣言するには、window
オブジェクトにプロパティとして追加します。
次の例では、globalVar
というグローバル変数が関数内で宣言されています。
これで関数内でグローバル変数を宣言する方法がわかりました。
次に、グローバル変数の使い方を10個のサンプルコードを使って解説していきます。
●グローバル変数の使い方10選
グローバル変数は、様々なシチュエーションで役立ちます。
ここでは、グローバル変数の具体的な使い方を10個のサンプルコードで紹介します。
○サンプルコード1:ページ内の表示切り替え
グローバル変数を使って、ページ内の表示内容を切り替えることができます。
例えば、次のようにして、表示するメッセージを切り替えることができます。
○サンプルコード2:データの共有
グローバル変数を使って、複数の関数間でデータを共有することができます。
次の例では、count
というグローバル変数を使って、関数increment
とdecrement
の間でデータを共有しています。
○サンプルコード3:イベントリスナーとの連携
グローバル変数を使って、イベントリスナーと連携することができます。
次の例では、clickCount
というグローバル変数を使って、ボタンクリックの回数を記録しています。
○サンプルコード4:非同期処理との連携
グローバル変数を使って、非同期処理と連携することができます。
次の例では、fetchData
というグローバル変数を使って、非同期で取得したデータを保存しています。
○サンプルコード5:変数のスコープを把握
グローバル変数を使うことで、変数のスコープを把握しやすくなります。
次の例では、globalVar
というグローバル変数と、localVar
というローカル変数を使っています。
○サンプルコード6:複数ページ間でのデータのやり取り
グローバル変数では、複数ページ間でのデータのやり取りが難しいため、代わりにローカルストレージやセッションストレージを利用しましょう。
次の例では、ローカルストレージを使ってデータを保存し、次のページでそのデータを表示しています。
1ページ目のHTML (page1.html)
2ページ目のHTML (page2.html)
○サンプルコード7:関数の引数として利用
グローバル変数は、関数の引数として利用することもできます。
次の例では、userName
というグローバル変数を関数greet
の引数として使用しています。
○サンプルコード8:オブジェクトとしての利用
グローバル変数をオブジェクトとして利用することで、関連するデータをまとめて管理できます。
次の例では、userInfo
というグローバル変数をオブジェクトとして使用しています。
○サンプルコード9:配列としての利用
グローバル変数を配列として利用することで、複数のデータを一つの変数で管理できます。
次の例では、userNames
というグローバル変数を配列として使用しています。
○サンプルコード10:設定値の一元管理
グローバル変数を使って、設定値を一元管理することができます。
次の例では、config
というグローバル変数をオブジェクトとして利用し、アプリケーションの設定値を管理しています。
●注意点と対処法
○グローバル変数の過剰な使用に注意
グローバル変数は、過剰に使用するとコードの可読性や保守性が低下します。
必要最低限の使用に留め、適切なスコープで変数を宣言しましょう。
○ネームスペースの利用
ネームスペースは、グローバル変数をグループ化し、名前の衝突を防ぐために使用されます。
ネームスペースは、オブジェクトを利用して作成できます。
上記の例では、MyApp
というネームスペースを作成し、グローバル変数をまとめて管理しています。
●カスタマイズ方法
○グローバル変数の値を変更する方法
グローバル変数の値を変更する場合は、直接代入して変更できます。
○グローバル変数の利用範囲を制限する方法
グローバル変数の利用範囲を制限する方法として、即時関数(IIFE: Immediately Invoked Function Expression)を使用できます。
まとめ
グローバル変数は、適切に使用することでプログラムの柔軟性や保守性を向上させることができます。
ただし、過剰な使用には注意しましょう。ネームスペースを利用することで、グローバル変数の管理が容易になります。
カスタマイズ方法を理解し、適切な使い方でコードの品質を高めましょう。