国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

ES6基礎之展開語法(Spread syntax)

2024-05-06 15:42:15
字體:
來源:轉載
供稿:網友

展開語法用"..."進行表示,展開語法將可迭代的對象拆分成獨立的值(語法層面展開)。擴展語法通常用于將可迭代的對象的值傳遞到函數的參數中。今天小編將從以下方面進行介紹:

函數傳參中的應用 數組的相關應用 剩余參數的應用 函數傳參中的應用

ES6之前,如果我們希望將數組作為參數分別傳遞給函數中的參數,我們可以使用Function的apply()方法。如下段代碼所示:

function myFunction(a, b) { return a + b;}var data = [1, 4];var result = myFunction.apply(null, data);console.log(result); //Output "5”

從上述代碼,apply方法接受一個數組,將它們分拆成單獨參數傳遞函數進行調用。

ES6的展開語法能讓我們以更簡潔的方式進行調用,如下段代碼所示:

function myFunction(a, b) {  return a + b; }let data = [1, 4];let result = myFunction(...data);console.log(result); //Output "5”

代碼運行期間,JavaScript解釋器調用myFunction之前,將會用1,4表達式替換...運算符:

let result = myFunction(...data);

上述代碼將會進行如下轉換:

let result = myFunction(1,4);

替換后,函數中的代碼將會繼續(xù)執(zhí)行。

數組的相關應用

數組的合并

展開語法可將數組添加到另外一個數組中,成為其中的一部分。

let array1 = [2,3,4];let array2 = [1, ...array1, 5, 6, 7];console.log(array2); //Output "1, 2, 3, 4, 5, 6, 7”

代碼運行期間,如下代碼:

let array2 = [1, ...array1, 5, 6, 7];

上述代碼將會替換成如下代碼:

let array2 = [1, 2, 3, 4, 5, 6, 7];

在push方法中的運用

有時候,我們需要將一個數組的內容追加到另一個數組中,ES6之前我們可以這么做,如下段代碼所示:

var array1 = [2,3,4];var array2 = [1];Array.prototype.push.apply(array2, array1);console.log(array2); //Output "1, 2, 3, 4”

ES6的展開語法能以更簡潔的形式實現,如下段代碼所示:

let array1 = [2,3,4];let array2=[1];array2.push(...array1);console.log(array2); //Output "1, 2, 3, 4”

代碼運行期間,如下代碼:

array2.push(...array1);

上述代碼將會替換成如下代碼:

array2.push(2, 3, 4);

傳遞多個數組參數

我們可以使用展開語法傳遞多個數組進行參數傳遞,如下段代碼所示:

let array1 = [1];let array2 = [2];let array3 = [...array1, ...array2, ...[3, 4]];//multi arrayspreadlet array4 = [5];function myFunction(a, b, c, d, e) { return a+b+c+d+e;}let result = myFunction(...array3, ...array4); //multi array spreadconsole.log(result); //Output "15”            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 锦州市| 镇雄县| 南皮县| 家居| 竹山县| 郯城县| 祁阳县| 闵行区| 玉树县| 启东市| 宜都市| 牟定县| 邮箱| 航空| 梧州市| 南川市| 楚雄市| 彭泽县| 盖州市| 南郑县| 和政县| 盐池县| 阿坝| 平远县| 七台河市| 闵行区| 临海市| 安阳市| 渑池县| 平谷区| 阳谷县| 汉寿县| 宜川县| 富源县| 阿坝县| 吉安县| 马山县| 大悟县| 镇沅| 股票| 长海县|