ES6 let和const 命令
一、let命令
使用的註意事項:
1、es6新增了let命令,它的用法和var 差不多,但是它聲明的變量只在let命令所在的代碼塊有效
2、不存在變量提升,所以變量要聲明後再使用,不然會報錯
3、不允許在相同的作用域中重復聲明同一個變量,所以也不能在函數裏重新聲明參數
4、let為js新增了塊級作用域,這樣就能避免變量的全局汙染
4-1、為什麽需要塊級作用域
1、在es5中,函數作用域:內層變量可能會覆蓋外層變量
2、用來計數的循環變量泄露為全局變量
4-2、es6中的塊級作用域
1、避免循環變量、泄露成全局變量,造成全局汙染
2、外部代碼塊不受內部代碼塊的影響
二、const命令
使用的註意事項:
1、const用來聲明常量,一旦聲明,它的值就不能改變,並且應該立即被初始化,不能留到以後再賦值
2、作用域與let命令相同:只在聲明所在的塊級作用域內有效
3、const命令聲明的常量,同樣存在暫時性死區,只能在聲明後使用
4、與let一樣const也不能重復聲明常量
5、對於復合類型的變量,變量名不指向數據,而直指向數據所在的地址。
const命令知識保證變量名指向的地址不變,並不保證地址的 數據不變
常量foo存儲的是地址,指向一個對象,不能把foo指向另外的一個地址
總結:es5聲明變量的方法只有var和function,而在es6中卻有6種方法,增加了let和const命令。後面還會有import命令和class命令,學了es6要學會使用它
ES6 let和const 命令