ES6からはletが使えるようになりました。

varとletの簡単な違いです。

varは、関数のスコープとなっています。

function test() {
    var age = 21;

    // 21 
    console.log(age);

    if (age) {
        var age = 34;
        // 34
        console.log(age);
    }

    // 34 ※ここに注目!
    console.log(age);
}

 

一方、letはブロックスコープになっています。

ブロックスコープは、{}で区切った範囲です。

function test() {
    var age = 21;

    // 21 
    console.log(age);

    if (age) {
        var age = 34;
        // 34
        console.log(age);
    }

    // 21 ※ここに注目!
    console.log(age);
}

 

少しの違いですが、これ大きいですね〜