今天介紹 JS 內 var 與 let 的後兩點差異。
JS 裡最大的執行環境稱為全域執行環境 Global Execution Context 。
全域執行環境底下又可分為:
var a = 1;
let b = 2;
console.log(window.a);
// 印出 1
console.log(window.b);
// 印出 undefined
在同作用範圍內:
var a = 1;
var a = 2;
// 可順利執行
let b = 3;
let b = 4;
// 印出 "error" SyntaxError: Identifier 'b' has already been declared
參考:
[1]What's the difference between using "let" and "var"?