👣
ローカルスコープとグローバルスコープ
🎯Dartで書くとどんなものか?
グローバルスコープ(Global Scope)は、プログラム内のどこからでもアクセスできる最上位のスコープです。グローバルスコープ内で宣言された変数や関数は、そのプログラム全体で利用可能です。通常、グローバルスコープには、アプリケーションのエントリーポイントであるmain()関数や、グローバル変数、グローバル関数などが含まれます。
一方、ローカルスコープ(Local Scope)は、特定のブロックや関数内でのみアクセス可能なスコープです。ローカルスコープ内で宣言された変数や関数は、そのスコープ内でのみ利用できます。ローカルスコープは、関数のパラメータやローカル変数などの形で使用されます。
Dartでは、ブロック(中括弧で囲まれた領域)がスコープの境界を定義します。関数内部や条件文、ループなどのブロック内で宣言された変数は、そのブロック内でのみ有効です。ブロック外からはアクセスできません。
以下は、Dartでのグローバルスコープとローカルスコープの例です。
// グローバルスコープ
int globalVariable = 10;
void main() {
// ローカルスコープ
int localVariable = 20;
print(globalVariable); // グローバル変数へのアクセス
print(localVariable); // ローカル変数へのアクセス
// ローカルスコープ内でのブロック
if (true) {
int blockVariable = 30;
print(blockVariable); // ブロック内の変数へのアクセス
}
// print(blockVariable); // エラー: ブロック外からはアクセスできない
}
まとめ
スコープ(Scope)は変数や識別子が有効である範囲を指します。これは他の言語でも共通です。
Discussion