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 (因以外部{}界定有效範圍)
}
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 (因以外部{}界定有效範圍)
}
留言
張貼留言