JavaScriptのスコープという概念について説明するよ!

pc画面のイラストJavaScript
スポンサーリンク

夜ご飯後にブログを書くことを習慣化しようと思っているのですが、夜ご飯を食べる前に寝てしまうのが悩みです。

こんにちは!マダラ蝶です。 本日はこんな方におすすめ!

  • スコープって何?
  • 変数の定義ってどこでしたらいいの?
  • ホスティングについて理解したい!
スポンサーリンク

スコープとは

「変数や関数が特定の名前で参照される範囲」のことを言います。

例えば、

  1. function hoge(){
  2.     var x = 0;
  3. }
  4. hoge();
  5. console.log(x);

このような関数があったときにはコンソールに出る結果は「エラー」となります。

これは var x = 0; のスコープ、つまり、変数や関数が特定の名前で参照される範囲が、関数内のみという処理をされることによって、関数外からconsole.log(x);によって var x にアクセスすることができないのである。

この場合

  1. function hoge(){
  2.     var x = 0;
  3.     console.log(x);
  4. }
  5. hoge();

と書けばコンソールに”0”と出力される。

JavaScriptでは関数の中で定義された変数やオブジェクトは関数の外からアクセスすることができない。関数の中で定義された変数やオブジェクトを操作したい場合は同じ関数の中で処理を記述する必要がある。

補足情報として、
最初の例のように、関数内に定義され、関数内でのみアクセスできる変数や定数のことをグローバル変数/定数と呼ぶ。

2つ目の例のように、関数外に定義され、どこからでもアクセスできる変数や定数のことをローカル変数/定数と呼ぶ。

今回はJavaScriptのスコープという概念について解説してみました。

次回はホスティングという概念について勉強したので、解説していきたいと思います。

コメント

タイトルとURLをコピーしました