JS let const 筆記
JS let const 筆記
let
- let 無法再次宣告
同一函數或塊範圍內重新聲明同一變量會引發SyntaxError
let num = 1; |
但使用var
是可以重新宣告的
let num = 1; |
- 限制作用域
let
不會在全域物件中建立,var
則是在全域中建立(window)
var x = "global"; |
利用迴圈查看
可以看到如果使用 let 宣告,並不會複寫,因為每一個迴圈等同於一個執行環境,程式碼執行之後 JavaScript 會將變數指向到該記憶體位置,因此就不會釋放掉,等到呼叫時就可以找到相關記憶體位置
for (let i = 0; i <= 10; i++) { |
使用 var 就會汙染到環境
for (var i = 0; i <= 10; i++) { |
- 暫時性死區
let 在創造階段與執行階段之間有一個暫時性死區
console.log(num); // ReferenceError |
與 var 差異
console.log(num); // undefined |
const
想要宣告常數,可以使用 const 宣告,常數不能重複指定值,也不能重複宣告
,const
也常拿來宣告物件,因為他是傳參考特性,只修改屬性質是可以的
- 宣告常數
不能重複指定值
const DISCOUNT = 10; |
- 宣告物件
使用const
宣告的物件被凍結後就無法被修改,如果是使用var
物件屬性不能修改但是物件本身是會被修改的
以下使用var
宣告
var human = { |
使用const
const human = { |
練習 ES6
編輯器可以安裝ESLINT
評論
ValineDisqus