IT~情報と技術

ドットインストール「詳解JavaScript 基礎文法編」で勉強#24(スコープの考え方)

ドットインストールというオンラインのプログラミング講座に「詳解JavaScript」というのがあります。

これでJavaScriptの基礎を勉強していきましょう。まずは「基礎文法編」から。

今日のメイントピックは、スコープについて理解しよう、です。

詳解JavaScript

ドットインストールのレッスン一覧に「②もっと詳しくJavaScriptを学ぼう」というセクションがあります。

ここに3つ並んでいる

  • 詳解JavaScript 基礎文法編(全24回)
  • 詳解JavaScript オブジェクト編(全23回)
  • 詳解JavaScript DOM編(全15回)

で勉強していきたいと思います。

これまでの勉強した内容はこちらです。

基礎文法編 #23

詳解JavaScript 基礎文法編 #24 スコープについて理解しよう ←講座はこちら

今日はブロック内で宣言した変数が、どの範囲までで有効なのか?というスコープの考え方が出てきました。

ブロックとスコープ

ブロックとスコープについては、これまでの講座でも見てきました。

ドットインストール「詳解JavaScript 基礎文法編」で勉強#07(定数を使う)

ドットインストール「詳解JavaScript 基礎文法編」で勉強#08(変数を使う)

再度ここで復習しておきましょう。

constとlet

ブロックスコープを持つ。

設定した変数はブロック内のみ有効。{ }内のみで有効!

var

ロックスコープを持たない。

設定した変数はそのブロックを超えて保持される。

{ }の外まで値が保持されます!

MDNのブロックを見ると、ブロックスコープのルールとして次のような説明があります。

varの場合

var で宣言した変数は、ブロックスコープを持ちません。(中略)変数を設定した効果は、そのブロック自体を超えて持続します。

letとconstの場合

対称的に、let と const で宣言された識別子は、ブロックスコープを持っています。

MDNのブロックから)

varの場合はブロックスコープを持たないので注意です!

講座で出てきた例

以下のような例で練習しました。

ブロックスコープの”1”と、グローバルスコープの”2”が出力されます。

今日のまとめ

基礎文法編24回分は今日で終わりです!!いや~、長かった・・・。

聞きながら試すだけ、だったら一気にダーっとできるのですが、1回ずつ記事にするのはなかなか根気がいります。^^;

しかし、その分内容の理解度は上がりますね。

次はオブジェクト編かぁ。これやらないと意味ないよねー、ってことでまた頑張ります。

超スローペースなプログラミング学習ですが、マイペースでぼちぼち続けています。

JavaScriptはちょっと難しいですが、がんばって一通りやってみましょう!