聊聊JS ES6中的解構(gòu)
es6新增了一種從數(shù)組或者對(duì)象中獲取指定元素的方式,這種方式就是我們今天要說(shuō)的解構(gòu)。
先來(lái)說(shuō)說(shuō)數(shù)組的解構(gòu)在有解構(gòu)之前呢,我們獲取數(shù)組中的指定元素通常是根據(jù)索引去做的:
const arr = [1, 2, 3]; const a = arr[1];
有了解構(gòu)之后呢,我們便可以使用如下方式快速的去獲取數(shù)組中的某個(gè)元素:
const arr = [1, 2, 3];const [a, b, c] = arr;console.log(a);console.log(b);console.log(c);
這樣打印出a, b, c的值分別是:
1
2
3
如果我們只想獲取前兩個(gè)元素呢,那么我們可以這樣寫:
const arr = [1, 2, 3];const [a, b] = arr;console.log(a);console.log(b);
我們也可以結(jié)合擴(kuò)展運(yùn)算符獲取數(shù)組中指定的多個(gè)元素,比如:
const arr = [1, 2, 3];const [a, ...brr] = arr;console.log(a);console.log(brr);
這樣brr就是除了1以外的其他元素組成的數(shù)組,打印出a, brr的值分別是:
1
[2, 3]
那如果我們只想獲取數(shù)組中的某一個(gè)元素呢?比如我只想獲取數(shù)組中的2,又該如何去寫呢?
const arr = [1, 2, 3];const [, a] = arr;console.log(a);
以上我們通過(guò)一個(gè)逗號(hào)占位確保我們解構(gòu)和數(shù)組本身的位置是一致的來(lái)獲取到特定位置的某個(gè)元素。可以看到,解構(gòu)的出現(xiàn)方便了我們?nèi)カ@取數(shù)組指定位置的一個(gè)或多個(gè)元素。這也是他在代碼中的一個(gè)重要的應(yīng)用。
說(shuō)完數(shù)組的解構(gòu),我們?cè)賮?lái)聊聊
對(duì)象的解構(gòu)與數(shù)組解構(gòu)不同的是,對(duì)象的解構(gòu)是根據(jù)屬性名去匹配的,因?yàn)閷?duì)象不像數(shù)組下標(biāo)那樣有順序,因此它不能用下標(biāo)去提取。就比如我們定義一個(gè)對(duì)象obj,我們想獲取他的name屬性值就可以這樣寫:
const obj = { name: ’wudixiaodoujie’, age : 18};const { name } = obj;console.log(name);wudixiaodoujieconst age = 0;const { age: perAge } = obj;console.log(perAge);18
對(duì)象的解構(gòu)應(yīng)用還是比較廣的,比如我們需要頻繁的調(diào)用對(duì)象的某個(gè)屬性或方法就可以通過(guò)解構(gòu)將其賦值給一個(gè)變量,通過(guò)一個(gè)變量去調(diào)用可以在一定程度上減少代碼量。
以上就是JS ES6中的解構(gòu)的詳細(xì)內(nèi)容,更多關(guān)于JS ES6中的解構(gòu)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁(yè)2. JavaWeb Servlet中url-pattern的使用3. 使用EF Code First搭建簡(jiǎn)易ASP.NET MVC網(wǎng)站并允許數(shù)據(jù)庫(kù)遷移4. HTML5 Canvas繪制圖形從入門到精通5. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))6. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式7. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明8. XML入門的常見(jiàn)問(wèn)題(一)9. asp批量添加修改刪除操作示例代碼10. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法
