JavaScript中ES6規(guī)范中l(wèi)et和const的用法和區(qū)別
ES6—— let 和 const 命令
引言本文主要講解ES6中變量的相關(guān)操作,變量的命名, 講解 var、 let 、 const 三者的區(qū)別
正文ES6中的 let 和 const 都是用來聲明變量的, 他們與 var 有所區(qū)別
let 命令我們都知道在for循環(huán)中,我們命名的變量 i 一般都只是為了在這個循環(huán)中使用,才臨時命名的, 我們希望循環(huán)結(jié)束后,這個變量就消失, 但是卻相反,用 var 命名的變量,在 for 循環(huán)結(jié)束后并不會銷毀,而會存在于全局中。
for(var i=0; i<5; i++) {console.log(’循環(huán)’+ i)}console.log(i)
/* 輸出結(jié)果 */循環(huán)1循環(huán)2循環(huán)3循環(huán)45 // 這里是循環(huán)外輸出的i
但是如果我們在 for 循環(huán)中,用到 let 去命名變量會怎么樣呢?
for(let i=0; i<5; i++) {console.log(’循環(huán)’+ i)}console.log(i)
/* 輸出結(jié)果 */循環(huán)1循環(huán)2循環(huán)3循環(huán)4undefined // 這里是循環(huán)外輸出的i,顯示未定義
這樣的話就解決了因為 var 命名導(dǎo)致的變量泄露的問題了, 其實它的本質(zhì)就是作用域, let 只作用于他自身所在的代碼塊內(nèi),而 var 是針對全局都有效的。例如這一個簡單的例子:
{let i = 1var n = 2}console.log(i)console.log(n)
/* 輸出結(jié)果 */undefined2
可以看到, let 命名的變量只存在于那個代碼塊內(nèi),到外部就訪問不到了,而 var 就是針對全局命名的。
const 命令const 和 let 類似,也是命名的變量只能在它所在的代碼塊內(nèi)能被訪問得到,到外部就無法被訪問到,但是 const 與 let 的區(qū)別就在于, const 命名的變量是一個只讀變量,簡而言之就是命名了就無法在后面被修改,例如這個例子:
const a = ’apple’let b = ’orange’a = ’watermelon’b = ’banana’
/* 輸出結(jié)果 */a = ’watermelon’ ^
顯而易見, 系統(tǒng)會直接報錯, 因為 const 命名的變量 a 是無法改變的, 后續(xù)無法對其進行賦值。
其實 const 命名變量以后, 也不是說就真的無法改變了, 因為const命名時其實是把箭頭指向了內(nèi)存中的一個對象, 只要不改變這個對象地址, const 命名的變量還是可以變化的,例如:
const list1 = []list1.push(’變化1’)console.log(list1)// [’變化1’]
可以看到 list1.pish(’ 變化1 ’) 不會改變 變量 list1在內(nèi)存中的地址。
但是 list1 = [ ’變化1’ ] 就會改變 list1 在內(nèi)存中的地址,所以會報錯
const list1 = []list1 = [’變化1’]console.log(list1)// 報錯:list1 = [’變化1’] ^結(jié)束語
這就是 let 和 const 的簡單應(yīng)用,希望對大家有所幫助, 下一篇ES6(2)將講解變量的解構(gòu)賦值
到此這篇關(guān)于JavaScript中ES6規(guī)范中l(wèi)et和const的用法和區(qū)別的文章就介紹到這了,更多相關(guān)JavaScript中l(wèi)et和const用法區(qū)別內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP.NET MVC使用Log4Net記錄異常日志并跳轉(zhuǎn)到靜態(tài)頁2. Ajax原理與應(yīng)用案例快速入門教程3. XSL簡明教程4. JavaScript css3實現(xiàn)簡單視頻彈幕功能5. Jsp servlet驗證碼工具類分享6. asp下利用xml打包網(wǎng)站文件7. IntelliJ IDEA 2020最新激活碼(親測有效,可激活至 2089 年)8. CSS3實現(xiàn)動態(tài)翻牌效果 仿百度貼吧3D翻牌一次動畫特效9. 關(guān)于JavaScript的Array數(shù)組方法詳解10. 使用JSP實現(xiàn)簡單的用戶登錄注冊頁面示例代碼解析
