ES6之解構(gòu)賦值

解構(gòu)賦值

傳統(tǒng)的定義多個變量:

var a = 1;
var b = 2;
var c = 3;

Es6中為了簡單問題簡單化,出現(xiàn)了解構(gòu)賦值這一方法侵贵,比如上邊的變量可以這樣定義:

var [a, b, c] = [1, 2, 3];
console.log(a, b, c);  // 1 2 3

可以看到真朗,把變量充當數(shù)組元素進行定義介却,一步到位的定義了多個變量臼闻。

  • 左邊變量的數(shù)組中支持空值占位
var [a, , b] = [1, 2, 3];
console.log(a, b); // 1 3
  • 也支持指定默認值有巧,下邊b給了默認值2
var [a, b=2, c] = [1, , 5];
console.log(a, b, c);  // 1 2 5
  • 解構(gòu)賦值可以進行嵌套
var [a, [b, c]] = [1, [2, 3]];
console.log(a, b, c);  // 1 2 3

在數(shù)組中可以嵌套另一個數(shù)組進行賦值鹉胖。

  • 賦值不成功時所宰,變量值為undefined
var [a, b, c] = [1, 2];
console.log(a, b, c);  // 1 2 undefined

以上是數(shù)組的解構(gòu)賦值绒尊,定義對象也可以使用解構(gòu)賦值。
也可以通過對象進行解構(gòu)賦值:

var {name, age} =  {name:'zzq', age:12};
console.log(name, age);  // zzq 12

其它特點也都和上邊相同仔粥。

用途

  • 第一個用處是在交換兩個變量的值
    通常交換變量值都是通過第三個暫時變量進行交換婴谱,有了解構(gòu)賦值以后就變得簡單多了。
var x = 1, y = 2;
[x, y] = [y, x];
console.log(x, y);  // 2 1
  • 第二個用途是簡化了函數(shù)參數(shù)的默認值
    以往我們?yōu)榱吮WC傳進函數(shù)的參數(shù)值不為空躯泰,都會在函數(shù)體內(nèi)為參數(shù)設(shè)值:
function sum(a,b){
  a = a || 0;  //如果a沒有傳值谭羔,則為0
  b = b || 0;
  return a + b;
}
var res = sum();
console.log(res);  // 0

有了解構(gòu)賦值以后,也簡化了很多:

function sum(a=0, b=0){
  return a + b;
}
var res = sum(1);
console.log(res);  // 1

當給參數(shù)傳值時麦向,則按照傳的值計算口糕,如果沒有傳值,則使用給定的默認值磕蛇,是不是簡單了很多呢?

最后十办,跟大家分享一下我的個人博客地址:http://javascript404.com
歡迎你的到來 ~ ~ ???

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秀撇,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子向族,更是在濱河造成了極大的恐慌呵燕,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件件相,死亡現(xiàn)場離奇詭異再扭,居然都是意外死亡,警方通過查閱死者的電腦和手機夜矗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門泛范,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人紊撕,你說我怎么就攤上這事罢荡。” “怎么了对扶?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵区赵,是天一觀的道長。 經(jīng)常有香客問我浪南,道長笼才,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任络凿,我火速辦了婚禮骡送,結(jié)果婚禮上昂羡,老公的妹妹穿的比我還像新娘。我一直安慰自己各谚,他們只是感情好紧憾,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著昌渤,像睡著了一般赴穗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膀息,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天般眉,我揣著相機與錄音,去河邊找鬼潜支。 笑死甸赃,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的冗酿。 我是一名探鬼主播埠对,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼裁替!你這毒婦竟也來了项玛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤弱判,失蹤者是張志新(化名)和其女友劉穎襟沮,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昌腰,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡开伏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了遭商。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片固灵。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖劫流,靈堂內(nèi)的尸體忽然破棺而出怎虫,到底是詐尸還是另有隱情,我是刑警寧澤困介,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布大审,位于F島的核電站,受9級特大地震影響座哩,放射性物質(zhì)發(fā)生泄漏徒扶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一根穷、第九天 我趴在偏房一處隱蔽的房頂上張望姜骡。 院中可真熱鬧导坟,春花似錦、人聲如沸圈澈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽康栈。三九已至递递,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間啥么,已是汗流浹背登舞。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留悬荣,地道東北人菠秒。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像氯迂,于是被迫代替她去往敵國和親践叠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1. const const用來聲明常量嚼蚀,一旦聲明必須立即初始化酵熙,否則報錯.作用域與let相同,只在聲明所在的塊級...
    BubbleM閱讀 169評論 0 0
  • 關(guān)鍵詞:解構(gòu)賦值 我們之前聲明變量怎么聲明驰坊? 這樣如果聲明太多變量會很麻煩,es6給我們提供了一種清新脫俗的方法:...
    ferrint閱讀 768評論 0 0
  • 《ijs》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 5,089評論 0 7
  • 1.數(shù)組的解構(gòu)賦值 2.對象的解構(gòu)賦值 3.字符串的解構(gòu)賦值 4.數(shù)值和布爾值的解構(gòu)賦值 5.函數(shù)參數(shù)的解構(gòu)賦值 ...
    卞卞村長L閱讀 917評論 0 0
  • 基本用法 ES6 允許按照一定模式哮独,從數(shù)組和對象中提取值拳芙,對變量進行賦值,這被稱為解構(gòu)(Destructuring...
    嘉奇呦_nice閱讀 789評論 0 2