優先使用 const,其次是 let,對 var 說再見
var存在變數提升,你可以在函式範圍的末尾處宣告一個 var 變數,但是它仍然可以在宣告之前訪問:你將得到一個 undefined 值。
function test() {
// code...
myVariable; // => undefined
// code...
var myVariable = 'Initial value';
}
test(); 複製程式碼
而使用 let
或者 const
進行變數宣告則不會存在作用域提升的問題,因為變數在宣告之前處於一個暫時性死區,在宣告之前訪問變數會丟擲一個 ReferenceError