摘要:參數(shù)搭配的變量是一個數(shù)組,該變量將多余的參數(shù)放入數(shù)組中。擴(kuò)展運(yùn)算符擴(kuò)展運(yùn)算符是三個點(diǎn)。應(yīng)用擴(kuò)展運(yùn)算符將數(shù)組變?yōu)閰?shù)序列替代數(shù)組的方法由于擴(kuò)展運(yùn)算符可以展開數(shù)組,所以不再需要方法,將數(shù)組轉(zhuǎn)為函數(shù)的參數(shù)了。
rest參數(shù)
ES6引入rest參數(shù)( 形式為“...變量名”) , 用于獲取函數(shù)的多余參數(shù), 這樣就不需要使用arguments對象了。 rest參數(shù)搭配的變量是一個數(shù)組, 該變量將多余的參數(shù)放入數(shù)組中。
function add(...values) { let sum = 0; for (var val of values) { sum += val; } return sum; } add(2, 5, 3) // 10應(yīng)用:
1.rest參數(shù)中的變量代表一個數(shù)組, 所以數(shù)組特有的方法都可以用于這個變量。 下面是一個利用rest參數(shù)改寫數(shù)組push方法的例子。
function push(array, ...items) { items.forEach(function(item) { array.push(item); }); return array } var a = []; push(a, 1, 2, 3) //[1,2,3]擴(kuò)展運(yùn)算符
擴(kuò)展運(yùn)算符( spread) 是三個點(diǎn)( ...) 。 它好比rest參數(shù)的逆運(yùn)算, 將一個數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列。
console.log(...[1, 2, 3]) // 1 2 3 console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5 [...document.querySelectorAll("div")] // [,,] 應(yīng)用:1.擴(kuò)展運(yùn)算符將數(shù)組變?yōu)閰?shù)序列
function add(x,y){ return x + y } var numbers = [4,28]; add(...numbers) //422.替代數(shù)組的apply 方法,由于擴(kuò)展運(yùn)算符可以展開數(shù)組, 所以不再需要apply方法, 將數(shù)組轉(zhuǎn)為函數(shù)的參數(shù)了。
// ES5的寫法 function f(x, y, z) { // ... } var args = [0, 1, 2]; f.apply(null, args); // ES6的寫法 function f(x, y, z) { // ... } var args = [0, 1, 2]; f(...args); // 應(yīng)用Math.max方法, 簡化求出一個數(shù)組最大元素的寫法 // ES5的寫法 Math.max.apply(null, [14, 3, 77]) // ES6的寫法 Math.max(...[14, 3, 77]) // 等同于 Math.max(14, 3, 77);上面代碼表示, 由于JavaScript不提供求數(shù)組最大元素的函數(shù), 所以只能套用Math.max函數(shù), 將數(shù)組轉(zhuǎn)為一個參數(shù)序列, 然后求最大值。 有了擴(kuò)展運(yùn)算
符以后, 就可以直接用Math.max3.合并數(shù)組
// ES5的寫法 [1, 2].concat(more) // ES6 [1, 2, ...more] var arr1 = ["a", "b"]; var arr2 = ["c"]; var arr3 = ["d", "e"]; // ES5的合并數(shù)組 arr1.concat(arr2, arr3); // [ "a", "b", "c", "d", "e" ] // ES6的合并數(shù)組 [...arr1, ...arr2, ...arr3] // [ "a", "b", "c", "d", "e" ]文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/95011.html
相關(guān)文章
(...)這三個點(diǎn)在JavaScript中意味著什么?
摘要:下面是我試圖解釋中三個點(diǎn)的作用??梢詫⑦@種傳播視為逐個提取所有單個屬性并將它們傳遞給新對象。這意味著下面的代碼將導(dǎo)致您擁有包含重復(fù)元素的數(shù)組。這應(yīng)該是您需要了解的所有內(nèi)容,以便在中使用運(yùn)算符。 這篇文章的標(biāo)題來自我在Quora上被要求回答的一個問題。下面是我試圖解釋JavaScript中三個點(diǎn)的作用。希望這對于將來有相同問題的人來說可以消除圍繞這個概念的迷霧。 數(shù)組/對象擴(kuò)展運(yùn)算符 假...
(...)這三個點(diǎn)在JavaScript中意味著什么?
摘要:下面是我試圖解釋中三個點(diǎn)的作用??梢詫⑦@種傳播視為逐個提取所有單個屬性并將它們傳遞給新對象。這意味著下面的代碼將導(dǎo)致您擁有包含重復(fù)元素的數(shù)組。這應(yīng)該是您需要了解的所有內(nèi)容,以便在中使用運(yùn)算符。 這篇文章的標(biāo)題來自我在Quora上被要求回答的一個問題。下面是我試圖解釋JavaScript中三個點(diǎn)的作用。希望這對于將來有相同問題的人來說可以消除圍繞這個概念的迷霧。 數(shù)組/對象擴(kuò)展運(yùn)算符 假...
(...)這三個點(diǎn)在JavaScript中意味著什么?
摘要:下面是我試圖解釋中三個點(diǎn)的作用??梢詫⑦@種傳播視為逐個提取所有單個屬性并將它們傳遞給新對象。這意味著下面的代碼將導(dǎo)致您擁有包含重復(fù)元素的數(shù)組。這應(yīng)該是您需要了解的所有內(nèi)容,以便在中使用運(yùn)算符。 這篇文章的標(biāo)題來自我在Quora上被要求回答的一個問題。下面是我試圖解釋JavaScript中三個點(diǎn)的作用。希望這對于將來有相同問題的人來說可以消除圍繞這個概念的迷霧。 數(shù)組/對象擴(kuò)展運(yùn)算符 假...
ECMASCRIPT 6 實(shí)戰(zhàn)之 擴(kuò)展運(yùn)算符
摘要:擴(kuò)展運(yùn)算符是以下簡稱中又一非常好用的實(shí)戰(zhàn)技術(shù)它的寫法只需要三個點(diǎn)作用則顧名思義用來展開你想要使用的任意變量本質(zhì)上是對所有擁有迭代器接口的對象進(jìn)行迭代。 擴(kuò)展運(yùn)算符(spreading)是 ECMASCRIPT 6(以下簡稱ES 6) 中又一非常好用的實(shí)戰(zhàn)技術(shù), 它的寫法只需要三個點(diǎn)(...),作用則顧名思義,用來展開你想要使用的任意變量,本質(zhì)上是對所有擁有迭代器接口(Iterator)...
ES6—擴(kuò)展運(yùn)算符和rest運(yùn)算符(6)
摘要:擴(kuò)展運(yùn)算符簡介擴(kuò)展運(yùn)算符是三個點(diǎn),可以將一個數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列。在實(shí)際項(xiàng)目中靈活應(yīng)用擴(kuò)展運(yùn)算符運(yùn)算符,能寫出更精簡易讀性高的代碼。 1、擴(kuò)展運(yùn)算符簡介 擴(kuò)展運(yùn)算符( spread )是三個點(diǎn)(...),可以將一個數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列。 說的通俗易懂點(diǎn),有點(diǎn)像化骨綿掌,把一個大元素給打散成一個個單獨(dú)的小元素。 showImg(https://segmentfault.c...
發(fā)表評論
0條評論
![]()
Rango
男|高級講師
TA的文章
閱讀更多
C語言實(shí)現(xiàn)初級掃雷
閱讀 1746·2021-11-15 11:38
國慶怎么把主機(jī)帶回家-怎么把臺式電腦帶回家?
閱讀 4635·2021-09-22 15:33
RackNerd:洛杉磯/德國/法國等虛擬主機(jī),50GB SSD空間,2TB月流量,年付9.98美金
閱讀 2406·2021-08-30 09:46
8個有用的 CSS 技巧:視差圖像,sticky footer 等等
閱讀 2254·2019-08-30 15:43
關(guān)于CSS的個人理解
閱讀 899·2019-08-30 14:16
響應(yīng)式開發(fā)中合理選定CSS媒體查詢分割點(diǎn)
閱讀 2150·2019-08-30 13:09
校招社招必備核心前端面試問題與詳細(xì)解答
閱讀 1347·2019-08-30 11:25
前端工具【3】—— 圖片處理
閱讀 771·2019-08-29 16:42