ES6 -- let & var的差別

沒有一定要用var或let, 依照當時情形選用最恰當的語法。


ES5中, var 以"function"界定變數的有效範圍;

e.g.

(function() {

    var a = 5;

    (function() {

        var a = 6;
        console.log(a);            // 6  (因以內部function界定有效範圍)

    })();

    console.log(a);                // 5  (因以外部function界定有效範圍)

})();



ES6中, let以"區塊"(就是指大括號"{}")界定變數的有效範圍。

e.g.

{

    let a = 5;

    {

        let a = 6;
        console.log(a);            // 6  (因以內部{}界定有效範圍)

    }

    console.log(a);                // 5  (因以外部{}界定有效範圍)

}



留言

熱門文章