解構(gòu):所謂解構(gòu)就是將聲明的一組變量于相同的解構(gòu)的數(shù)組或?qū)ο蟮脑財(cái)?shù)值 一一對(duì)應(yīng)
1、數(shù)組解構(gòu)
我們看看下面代碼蓖乘,一起來了解數(shù)組解構(gòu)
傳統(tǒng)寫法:
let? numbers= [1,2,3];
let a = numbers [0];
let b = numbers [1];
let c = numbers [2];
console.log(a,b,c);//輸出1,2,3
解構(gòu)寫法:
let? [a,b,c] =? [1,2,3];
console.log(a,b,c);//輸出1,2,3;
是不是簡(jiǎn)潔很多溶耘,這就是數(shù)組解構(gòu)最基本的寫法
A、當(dāng)聲明的參數(shù)多于賦值的參數(shù)時(shí)
let [a, b, c, d] = [1, 2, 3];
console.log(a, b, c, d); // 1, 2, 3, undefined
B湖蜕、當(dāng)聲明的參數(shù)少于賦值的參數(shù)時(shí)
let [a, ,b] = [1,2,3];
console.log(a, b); ?// 1, 3
C教硫、在數(shù)組解構(gòu)賦初始值
let ?[a, b, c = 4, d = 'hello'] = [1, 2, 3];
console.log(a, b, c, d); ? // 1, 2, 3, "Hello"
2叨吮、對(duì)象解構(gòu)
解構(gòu)不僅可以用于數(shù)組,還可以用于對(duì)象
let {name,age} = {name:"小文",age:"20歲"};
console.log(name,age);
注意:對(duì)象解構(gòu)和數(shù)組解構(gòu)不同的是,對(duì)象解構(gòu)的聲明變量部分必須和賦值的屬性名一一對(duì)應(yīng)才能取到對(duì)應(yīng)的值瞬矩,數(shù)組解構(gòu)可以通過索引下標(biāo)取值
我們來看看對(duì)象解構(gòu)的原理茶鉴?
其實(shí)對(duì)象的解構(gòu)賦值的內(nèi)部機(jī)制,是先找到對(duì)象同名屬性景用,然后在賦對(duì)應(yīng)的值涵叮,真正被賦值的是后者惭蹂,而不是前者
一起看看代碼:
let {a:b} = {a:"aaa", b:'bbb' };
console.log(a); // a is not defined
console.log(b); // aaa
a是匹配的模式,b才是變量割粮,真正被賦值的是b (b <=”bbb”)盾碗,復(fù)制到控制臺(tái)打印試試
3、函數(shù)傳參的解構(gòu)
function add([x, y]){
return x + y;
}
add([1, 2]); // 3
4舀瓢、rest運(yùn)算符和擴(kuò)展運(yùn)算符
應(yīng)用場(chǎng)景:主要用于不定參數(shù)廷雅,所以ES6開始可以不再使用arguments對(duì)象
(1)、rest運(yùn)算符
rest 參數(shù)叫做不定(剩余)參數(shù), 用三個(gè)點(diǎn)+加數(shù)組值表示(…arr),把逗號(hào)隔開的值轉(zhuǎn)換成數(shù)組
function hello(...arr){
console.log(arr);
}
hello(1,2,3,4,5,);//輸出 [1, 2, 3, 4, 5]
注意:rest運(yùn)算符只能用在最后一個(gè)參數(shù)
看看代碼:
a.放rest運(yùn)算符放后面
b.放rest運(yùn)算符放前面
(2)京髓、擴(kuò)展運(yùn)算符
也是用三個(gè)點(diǎn)+加數(shù)組值表示航缀,是把數(shù)組或類數(shù)組對(duì)象轉(zhuǎn)換程一系列用逗號(hào)隔開的值,跟rest相反
let arr = [1,2,3,4,5];
console.log(...arr); //輸出1 2 3 4 5
5堰怨、rest運(yùn)算符配合解構(gòu)使用
let [a, ...rest] = [1, 2, 3, 4];
console.log(a);//1
console.log(rest);//[2, 3, 4];
以上就是解構(gòu)的相關(guān)內(nèi)容
個(gè)人學(xué)習(xí)心得芥玉,大神路過 ,不喜勿噴?? ?备图,如果你覺得不錯(cuò)灿巧,歡迎點(diǎn)贊,訂閱诬烹,分享出去給需要的人砸烦,筆者將非常感謝
<完>
如果你是喜歡看書的朋友弃鸦,不妨點(diǎn)擊【有驚喜】這是我在亞馬遜買的電子書绞吁,都非常珍貴。希望你能喜歡
作者:小處成就大事
簡(jiǎn)介:一個(gè)喜歡分享和學(xué)習(xí)的前端開發(fā)程序猿唬格,平時(shí)喜歡看看書家破,游泳,爬山购岗,戶外騎行等汰聋,期待與志同道合的你成為朋友,一起交流喊积、一起進(jìn)步烹困。
初衷:閑時(shí)喜歡寫一些文章分享,記錄豐富自己乾吻∷杳罚可能沒有別人寫得好,但是我寫的每一篇都非常用心和投入绎签。真心希望來到這里對(duì)你有所收獲枯饿,我將非常開心很欣慰。
博客:小處成就大事_新浪博客
如果有志同道合的朋友不妨加微信一起交流和學(xué)習(xí)诡必,期待你的到來