這篇文章主要介紹了ES6中剩余參數(shù)的案例分析,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

剩余參數(shù)將沒有對(duì)應(yīng)形參的參數(shù)聚合成一個(gè)數(shù)組
語法function(a, b, ...theArgs) {
}只聚合未對(duì)應(yīng)形參參數(shù)剩余參數(shù)只會(huì)將沒有對(duì)應(yīng)形參的參數(shù)聚合成一個(gè)數(shù)組, 而arguments則是包含了所有的參數(shù)。
function add(a, b, ...theArgs) {
return {rest: theArgs, arguments}
}
add()
// {rest: [undefined, undefined, []], arguments: Arguments(0)}
add(1)
// {rest: [1, undefined, []], arguments: Arguments(1)}
add(1, 2)
// {rest: [1, 2, []], arguments: Arguments(2)}
add(1, 2, 3, 4, 5)
// {rest: [1, 2, [3, 4, 5]], arguments: Arguments(5)}剩余參數(shù)是數(shù)組剩余參數(shù)始終是一個(gè)數(shù)組,而不像arguments是一個(gè)偽數(shù)組
function add(...theArgs) {
console.log(Array.isArray(theArgs))
theArgs.forEach((a)=>console.log(a))
console.log(Array.isArray(arguments))
Array.prototype.slice.call(arguments, add.length).forEach((a)=>console.log(a)) // 轉(zhuǎn)化成數(shù)組
}
add(1,2,3) // true 1 2 3 false 1, 2, 3, 4解構(gòu)剩余參數(shù)function add(...[a, b, c]){
return a + b +c
}
add(1, 2, 3) // 6
add(1, 2, 3) // 6使用babel翻譯function add(...num){
return num.reduce((n1,n2)=>n1+n2)
}翻譯后
function add() {
for (var _len = arguments.length, num = Array(_len), _key = 0; _key < _len; _key++) {
num[_key] = arguments[_key];
}
return num.reduce(function (n1, n2) {
return n1 + n2;
});
}感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享ES6中剩余參數(shù)的案例分析內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)建站,關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)建站,詳細(xì)的解決方法等著你來學(xué)習(xí)!
網(wǎng)站名稱:ES6中剩余參數(shù)的案例分析-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://www.chinadenli.net/article8/djdsop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、ChatGPT、面包屑導(dǎo)航、建站公司、網(wǎng)站維護(hù)、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容