# 第三十七關:let、const

情境:

這幾天小杰都在埋頭於 JS 書籍裡,因為禿頭俠說,目前除了 var 以外,還可以用 let 與 const 來宣告變數,但他壓根不了解這兩個語法的目的。還請大家幫幫小杰尋找技術文章,幫助它吸收吧!

# 問題

還請挑戰者們分享你找到的 JS ES6 let 與 const 文章,補充在下方列表,並嘗試自己寫一些範例,並回報於 Slack 上

# let、const 教學文章

  1. ES6 開始的新生活 let, const
  2. ECMAScript6 入門:var、let、const 差異
  3. JS 筆記 - 認識 ES6
  4. JS 筆記 - ES6 let 與 const 特性
  5. JS 筆記 - ES6 的 let 與 for 用法
  6. 鐵人賽:ES6 開始的新生活 let, const
  7. Day 05: ES6篇 - let與const
  8. JavaScript: var, let, const 差異
  9. JavaScript ES6 Block Scope - let, const
  10. Day26 var 與 ES6 let const 差異
  11. ES6 更嚴謹安全的 let 和 const

參考解答

//一、作用域 if, else, for, while等等區塊語句中,var宣告的變數仍然可被存取

//var
function fn1() {
	var a = 10;
}

if (true) {
	var b = 20;
}

console.log(a); // a is not defined
console.log(b); // 20

//let、const
function fn2() {
	let a = 10;
}

if (true) {
	const b = 20;
}

console.log(a); // a is not defined
console.log(b); // b is not defined

//二、const vs let
//const針對是常數的定義,不可再指定
const a = 10;
a = 20; //Assignment to constant variable.

let a = 10;
a = 20;
console.log(a); //20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
最後更新: 8/3/2020, 2:04:27 AM