Recursion 中級 スコープについて
スコープとは
やはり、コードを書いていると変数名や関数名を同じにしてしまう時ありますよね。しかし、同じ名前で定義すると当たり前のようにエラーが起きコードがぐちゃぐちゃになりかねないケースになるでしょう。
そこで、スコープが登場します。
スコープとは、
コード内で使う変数名や関数名の影響範囲のこと。
そして、このスコープの中には2つのタイプのスコープがある。
グローバルスコープ
ローカルスコープ
まず、グローバルスコープについて話します。
プログラムのコードを解説する際には、まずグローバルスコープの概念を理解することが重要です。グローバルスコープとは、プログラム内のどこからでもアクセスできる変数や関数のことを指します。
実際のコードを見てみましょう。
// グローバルスコープ
var globalVariable = 10;
function exampleFunction() {
// ローカルスコープ
var localVariable = 20;
console.log("ローカルスコープ内の変数:", localVariable);
console.log("グローバルスコープ内の変数:", globalVariable);
}
// 関数を呼び出す
exampleFunction();
// グローバルスコープの変数にアクセスする
console.log("グローバルスコープ外の変数:", globalVariable);
// ローカルスコープの変数には直接アクセスできないため、以下の行はエラーになります
// console.log("ローカルスコープ外の変数:", localVariable);
コード解説:
このグローバルスコープで定義した変数は、現在の状態では10と定義されています。そのため、この変数を呼び出すと必ず10が戻ってきます。グローバルスコープについての理解は、プログラムのコード解説において最も基本的なポイントです。
関数の定義が行われ、その中にはlocalVariabledeという変数が含まれています。この変数には20という値が格納されています。そして、console.logを使用して2つの値を出力することができます。しかしながら、このローカルスコープでは関数内からのみアクセスすることができ、関数外からのアクセスは直接はできないため、エラーが発生します。関数の利用方法やスコープについて理解することが重要です。
一方で、グローバルスコープで定義した変数ではどこでも定義することができるので関数外でアクセスを試みた時は通常どうり出力することができます。
このように、グローバルスコープと変数が組み合わさっていることを
グローバル変数といいます。
グローバル変数は、グローバルスコープと変数が組み合わさっているものです。チームでの開発では便利な面もありますが、注意が必要な点もあります。異なる人々が異なる変数を定義するため、エラーが起きやすくなる可能性があります。特に注意が必要です。
逆に、ローカルスコープをチーム開発で使うとコンピュータの計算上負荷がかからないため、衝突を防ぐことができます。
正直、スコープと名前空間とでは似てる部分が多く、個人的には理解をするのが早っかったと感じます。現在、Recursionの中級をやっていますがとても難しく感じる部分が多いのでこれを乗り越えれば少し理解に苦しむことはないのではないかと思うのでここ一踏ん張り頑張ります!
この記事が気に入ったらサポートをしてみませんか?