ES6 -- function & {}
在ES5中, 以function來界定function作用域(scope), 就像var也是用function來界定變數有效範圍(let之前有介紹過):
e.g.
(function() {
function foo() { return 1; }
(function() {
function foo() { return 2; } // 這function foo(){} 只存在這閉包中
console.log(foo()); // 2 (以內部的function界定作用域)
})();
console.log(foo()); // 1 (以外部的function界定作用域)
})();
但在ES6中, 是以大括號{}來界定function作用域, 就像let也是用{}來界定變數有效範圍(let之前有介紹過):
e.g.
{
function foo() { return 1; }
{
function foo() { return 2; }
console.log(foo()); // 2 (以內部的{}界定作用域)
}
console.log(foo()); // 1 (以外部的{}界定作用域)
}
留言
張貼留言