今回は@matsubyさんの以下の記事を参考にして、記事を執筆していきたいと思います。(qiita.comとてもわかりやすい解説で勉強になりました。ありがとうございます。今回の記事で紹介するスコープの種類は以下の4つです。グローバルスコープ関数スコープネストした関数のスコープブロックスコープではこれら1つずつ解説していきたいと思います。可視範囲)とは、ある変数や関数などの名前(識別子)を参照できる範囲のこと。通常、変数や関数が定義されたスコープの外側からは、それらの名前を用いるだけでは参照できない。このときこれらの変数や関数は「スコープ外」である、あるいは「見えない」といわれる。フリー百科事典『ウィキペディア(Wikipedia)』https://ja.wikipedia.org/wiki/スコープつまり、定義した変数や関数が使える範囲のことをスコープって言います。グローバルスコープ関数の外で定義されたプロパティはグローバル変数となり、どこからでも参照することが可能です。初心者の方などは「どこからでも参照できるのか!わかりやすくていいじゃん!」と思うかもしれませんが、グローバル変数は全ファイル共通でどこからでも参照可能のため、名前が重複してしまうと意図していないところでの参照が起こったりするリスクが発生するので良くないです。globalVar関数スコープ関数内で定義されたプロパティはローカル変数と呼ばれ、外部からの直接アクセスはできません。ちなみに関数の場合も同様で、関数内の中でさらに定義したローカル関数も外部から呼び出すことはできません。以下のサンプルコードではglobalFuncを呼び出した時にlocalFuncもセットで呼び出すようにしているのですが、ローカル関数を定義しているスコープ内のみローカル関数を呼び出すことが可能です。undefined外のスコープからローカル変数に値を代入することは可能です。今回の場合ですとglobalFuncで呼び出した場合にコンソールに出力される値は変わりません。その理由は関数呼び出しごとに初期値がセットされるからです。localVarグローバル変数とローカル変数の名前が変わってもスコープが異なるため、問題ありません。localVarネストした関数のスコープネストした関数の場合は「子関数で定義されたスコープの変数に親関数からアクセスは不可能」「親関数のスコープで定義された変数に子関数からアクセスは可能」です。defined}outerFunc();ブロックスコープ普段あまり御目に掛かるチャンスが少ないような気がするブロックスコープですがvarとletの使い方によってスコープが異なります。varで変数を定義した場合は定義したスコープが包含する部分は全てアクセス可能になります。letを使って変数を定義した場合はブロックごとのスコープが割り振られます。以上がJavascriptのスコープに関する基本的な内容の解説でした!読んでくれた方やわかりやすい記事を書いてくださった@matsubyさん、本当にありがとうござました。番外:その他おすすめの記事エンジニアがもっと楽しく仕事できるようにスキルアップの方法や役立つ情報を発信しています。興味がある方はご覧になってください。読者の皆様にとって損になるようなことはないと思います。使ってない方は是非使ってみてください!おすすめアイテム1自分はオフィス次の2点の座布団と背もたれクッションを利用してます。姿勢が安定し、お尻への負担が激減します。オフィスにいるのに自宅で作業しているような感覚になるので気に入ってます。介護用クッションおすすめアイテム2ブックスタンドみなさん使ってますか?PCを打ちながら参考書見る時に手で抑える必要がなくなるので非常に便利です。別の記事でエンジニアとして知っておくべき技術本についてまとめました。スキルの高いエンジニアは極々当たり前にしっている知識だとおもいますが、そうでない方、エンジニアのスキルに不安があるかたに是非読んで欲しい技術本をまとめました。そのなかで例を1つあげるならば「リーダブルコード」などが挙げられます。優秀なエンジニアの先輩でこの本を読んでいない方はほぼいないと思います。エンジニアのスキルを上げるために、ある程度読むべき本というものが決まっているのできちんと読んで勉強しましょう。時短アイテム!日々の生活の質を上げる日常生活における無駄を省く表品をまとめました。1日無駄な作業時間が10分発生するとしたら1年間で3600時間もその無駄な作業に時間を費やすことになります。このような魔の作業を消し去ってくれる商品をまとめました。全て自分が使ってお勧めできる商品のみ紹介してます。日常の無駄な作業を効率化する商品まとめ気軽にお声かけくださいこのような形でほぼ毎日、情報発信を行ってます。技術的な部分で誤っている点などもあるかもしれません。その様な部分を発見した方はTwitterのDMなどで知らせていただければ凄い嬉しいです。自身自身のエンジニアのネットワークを広げたいと思ってます。日頃六本木や渋谷にいることが多いですので気軽にお誘いください。引数として渡される関数のことを指します。他の関数に引数として渡すことができ、処理のタイミングを指定することができます。関数宣言をして関数を定義した場合を考えます。関数を実行した時に生成されるオブジェクトです。Javascriptの型は大きく分けて2つあります。芝浦工業大学に合格し、法政大学を選んだ理由。芝浦工業大学に合格し、法政大学を選んだ理由。初心者が買うべきの技術本まとめ生活の無駄な作業を削除するアイテムまとめ理系の学生・社会人の登録必須マッチングアプリタイトルとURLをコピーしました。