前言
延續 let 與 const
上一關卡充分的看了許多關於 let 與 const 的文章,下面就來練習看看觀念是否正確吧!
問題一:下面會出現的 console 是?
console.log(a);
let a = 10;
console.log(a)答案是ReferenceError: Cannot access 'a' before initialization
let雖然有提升,但在宣告階段會出現「暫時性死區」(Temporal Dead Zone) ,這個區域無法呼叫變數,
因此不會出現undefind而是出現 錯誤題示。詳細可以看MDN
問題二:以下是否會正常執行?若不會,會顯示什麼紅字錯誤?
let a = 1;
a=3;
console.log(a)// 3
let b = 1;
let b = 2;
console.log(b)出現SyntaxError: Identifier 'b' has already been declaredlet在同一區塊內不允許重複宣告
const c = 3;
c=4
console.log(c)出現TypeError: Assignment to constant variableconst是宣告常數,無法再重新賦予值
問題三:請問 var、let、const 的區別是? (此為熱門面試題目)