ウェブ家の備忘録

ウェブデザイナーの備忘録

JavaScriptのvar let constの違い

 大体スコープの違い。


<script>
  //var let constの宣言の違い
  {              //var                   //let                       //const
    var varDec = '○初期値'; let letDec = '○初期値'; const conctDec = '○初期値';
        varDec = '○再代入';     letDec = '○再代入';       conctDec = '×再代入';
    var varDec = '○再宣言'; let letDec = '×再宣言'; const conctDec = '×再宣言';
  }
  //ローカルスコープでの宣言がグローバルスコープで使えるか
            //var可              //let否              //const否
  console.log(varDec); console.log(letDec); console.log(constDec);
</script>

   まとめ
 varは変数。即時関数内でない限りグローバルスコープ。 
 letはvarと大体同じな変数。ローカルスコープでの変数宣言に便利。
 constは定数。だけど他の言語の定数と違ってローカルでの宣言がグローバルにならない。グローバルの宣言かローカルの宣言かを意識する必要あり。

 var・let・constでフォローできないスコープ汚染は即時関数を使えばいいと個人的に思います。


//即時関数
(function(){ //処理 }()); //引数 (function(num1,num2){ //処理 }(1,2)); //返り値 var result = (function(){ return 123; }());