第2節(jié):變量的解構賦值

ES6允許按照一定模式癞志,從數(shù)組和對象中提取值啥么,對變量進行賦值登舞,這被稱為解構。解構賦值在實際開發(fā)中可以大量減少我們的代碼量悬荣,并且讓我們的程序結構更清晰菠秒。也許你還是不太明白,那先來一個最簡單的數(shù)組解構賦值來進行賦值隅熙。

數(shù)組的解構賦值:

簡單的數(shù)組解構:

以前稽煤,為變量賦值核芽,我們只能直接指定值。比如下面的代碼:

let a=0;
let b=1;
let c=2;

而現(xiàn)在我們可以用數(shù)組解構的方式來進行賦值酵熙。

letl  [a,b,c]=[1,2,3];

上面的代碼表示轧简,可以從數(shù)組中提取值,按照位置的對象關系對變量賦值匾二。

數(shù)組模式和賦值模式統(tǒng)一:

可以簡單的理解為等號左邊和等號右邊的形式要統(tǒng)一哮独,如果不統(tǒng)一解構將失敗。

let [a,[b,c],d]=[1,[2,3],4];

如果等號兩邊形式不一樣察藐,很可能獲得undefined或者直接報錯皮璧。

解構的默認值:

解構賦值是允許你使用默認值的,先看一個最簡單的默認是的例子分飞。

let [foo = true] =[];
console.log(foo); //控制臺打印出true

上邊的例子數(shù)組中只有一個值悴务,可能你會多少有些疑惑,我們就來個多個值的數(shù)組譬猫,并給他一些默認值讯檐。

let [a,b="I love music"]=['我就喜歡聽音樂']
console.log(a+b); //控制臺顯示“我就喜歡聽音樂I love music”

現(xiàn)在我們對默認值有所了解,需要注意的是undefined和null的區(qū)別染服。

let [a,b="I love music"]=['我就喜歡聽音樂',undefined];
console.log(a+b); //控制臺顯示“我就喜歡聽音樂I love music”

undefined相當于什么都沒有别洪,b是默認值。

let [a,b="I love music"]=['我就喜歡聽音樂',null];
console.log(a+b); //控制臺顯示“我就喜歡聽音樂null”

null相當于有值柳刮,但值為null挖垛。所以b并沒有取默認值,而是解構成了null秉颗。

對象的解構賦值

解構不僅可以用于數(shù)組痢毒,還可以用于對象。

let {foo,bar} = {foo:'I love music',bar:'我就喜歡聽音樂'};
console.log(foo+bar); //控制臺打印出了“I love music我就喜歡聽音樂”

注意:對象的解構與數(shù)組有一個重要的不同站宗。數(shù)組的元素是按次序排列的闸准,變量的取值由它的位置決定益愈;而對象的屬性沒有次序梢灭,變量必須與屬性同名,才能取到正確的值蒸其。

圓括號的使用

如果在解構之前就定義了變量敏释,這時候你再解構會出現(xiàn)問題。下面是錯誤的代碼摸袁,編譯會報錯钥顽。

let foo;
{foo} ={foo:'I love music'};
console.log(foo);

要解決報錯,使程序正常靠汁,我們這時候只要在解構的語句外邊加一個圓括號就可以了蜂大。

let foo;
({foo} ={foo:'I love music'});
console.log(foo); //控制臺輸出I love music

字符串解構

字符串也可以解構闽铐,這是因為,此時字符串被轉換成了一個類似數(shù)組的對象奶浦。

const [a,b,c,d,e,f]="I love music";
console.log(a);
console.log(b);
console.log(c);
console.log(d);
console.log(e);
console.log(f);
console.log(g);
console.log(h);
console.log(i);
console.log(j);
console.log(k);
console.log(l);
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末兄墅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子澳叉,更是在濱河造成了極大的恐慌隙咸,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件成洗,死亡現(xiàn)場離奇詭異五督,居然都是意外死亡,警方通過查閱死者的電腦和手機瓶殃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門充包,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人遥椿,你說我怎么就攤上這事误证。” “怎么了修壕?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵愈捅,是天一觀的道長。 經(jīng)常有香客問我慈鸠,道長蓝谨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任青团,我火速辦了婚禮譬巫,結果婚禮上,老公的妹妹穿的比我還像新娘督笆。我一直安慰自己芦昔,他們只是感情好,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布娃肿。 她就那樣靜靜地躺著咕缎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪料扰。 梳的紋絲不亂的頭發(fā)上凭豪,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天,我揣著相機與錄音晒杈,去河邊找鬼嫂伞。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的帖努。 我是一名探鬼主播撰豺,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拼余!你這毒婦竟也來了郑趁?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤姿搜,失蹤者是張志新(化名)和其女友劉穎寡润,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舅柜,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡梭纹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了致份。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片变抽。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖氮块,靈堂內的尸體忽然破棺而出绍载,到底是詐尸還是另有隱情,我是刑警寧澤滔蝉,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布击儡,位于F島的核電站,受9級特大地震影響蝠引,放射性物質發(fā)生泄漏阳谍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一螃概、第九天 我趴在偏房一處隱蔽的房頂上張望矫夯。 院中可真熱鬧,春花似錦吊洼、人聲如沸训貌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽递沪。三九已至,卻和暖如春超燃,著一層夾襖步出監(jiān)牢的瞬間区拳,已是汗流浹背拘领。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工意乓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓届良,卻偏偏與公主長得像笆凌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子士葫,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內容

  • 1.數(shù)組的解構賦值 2.對象的解構賦值 3.字符串的解構賦值 4.數(shù)值和布爾值的解構賦值 5.函數(shù)參數(shù)的解構賦值 ...
    卞卞村長L閱讀 917評論 0 0
  • 數(shù)組的解構賦值 對象的解構賦值 字符串的解構賦值 數(shù)值和布爾值的解構賦值 函數(shù)參數(shù)的解構賦值 圓括號問題 用途 數(shù)...
    皇甫貝閱讀 302評論 0 0
  • 本文通過學習阮一峰的博客乞而,外加自己的理解,整理了一下我對js變量的解構賦值的理解慢显。 數(shù)組的解構賦值 對象的解構賦值...
    宋樂怡閱讀 478評論 0 2
  • 數(shù)組的解構賦值 基本用法 ES6允許按照一定模式爪模,從數(shù)組和對象中提取值,對變量進行賦值荚藻,這被稱為解構(Destru...
    呼呼哥閱讀 431評論 0 3
  • 『ES6腳丫系列』變量的解構賦值 第一章:變量的解構賦值的概念 【01】Q:什么是變量的解構賦值屋灌?有哪些方式? 吃...
    吃碼小妖閱讀 766評論 0 0