這個運算符,當然es6里面也有,是值得注意的,容易把人搞迷糊
它有兩個功能
1,展開
2,收納
前一個功能是它的標准功能,網上收展開能搜索到,但收納這個要仔細看不要被搞迷糊了
demo:
let nums= [1,2,3,4] let [f, ...rest] = nums; console.log(f); // 輸出: 1 console.log(rest);// 輸出: [2,3,4]
這收 2,3,4 被收納進了 左邊聲明的新變量 rest里了
再舉個它標准的功能 展開
let arr1=[1,2,3] let arr2=[4,5,6,7] let arr3=[...arr1,...arr2] console.log(arr3) //[1,2,3,4,5,6,7]
注意它的使用特征,都是先寫 ... 然后緊跟一個變量,如果這個變量在左則,是新定義的,那么是收納,如果是已經存在的變量在右則,或在方法的參數定義里,那么是展開的意思
正是因為它有這種容易含混不清的雙重功能,所以值得記錄一筆,以引起注意,防止迷糊犯錯。