var、let、constの違い


ES 6(ECMA Script 2015)以前はvarのみが変数を宣言できたが、ES 6に入るとletとcontが変化した.let、var、constの違いを理解してみましょう
既存のJavaScriptでは、変数の有効範囲は関数単位の関数範囲です.ただし、javaまたはCシリーズ言語ではfunctionscopeではなくblockscopeがあります.

再割当と再宣言

  • var
  • var a = 1
    a = 2
    console.log(a) // 2
    var a = 3
    console.log(a) //3
  • let
  • let b = 1
    b = 2
    console.log(b) // 2
    let b = 3 // SyntaxError: Identifier 'b' has already been declared
    console.log(b)
  • const
  • const c = 1
    c = 2  // TypeError: Assignment to constant variable.
    console.log(c)
    const c = 3 // / SyntaxError: Identifier 'c' has already been declared
    console.log(c)
    varは柔軟な再割り当てと再宣言方法である.letの場合、エラーを再割り当てできますが、エラーを再宣言することはできません.contの場合、再割り当ても再宣言もできません.