數組的解構賦值看順序。
1、簡單的數組解構賦值:
2、更為復雜的匹配規則
3、返回數組g (只看第二行代碼,第一行無關)
4、返回數組項g(只看第二行代碼,第一行無關)
5、返回數組項 g (兩行代碼結合起來看)
6、擴展運算符
① 使用擴展運算符之前的例子:
打印arr4得到的是包含三個小數組的一個大數組,而不是將前面三個數組合並后得到的一個大數組
② 使用擴展運算符之后的例子:
打印arr4得到的是一個合並后的大數組:
③ 將擴展運算符&數組的解構賦值結合起來(c取到的就是剩下兩個數組項3和4組成的數組):
控制台打印c會得到:
④帶有擴展運算符的變量必須放在最后面,否則會報錯
控制台報錯:
7、默認值
① 沒有匹配到的數組項就會賦值一個undefined,比如d;b和c所匹配到的值本身就是undefined:
控制台分別輸出a、b、c、d
② 當b匹配到的值為undefined時就會等於默認值2,匹配到的值為null時不會等於默認值:
在控制台打印b得到結果為2,打印d得到結果為aaa,打印c依舊為undefined因為它沒有默認值:
③匹配到null時依舊為null,而不會匹配到默認值:
控制台打印b依舊為b,而不是2:
8、使用解構賦值交換變量
控制台打印a得到10,打印b得到20:
9、使用解構賦值接收多個(函數的)返回值:
控制台分別打印status、data、msg:
es6之前想要獲得數據的寫法: