rest 參數與擴展運算符
阿新 • • 發佈:2018-10-04
arp cto 多余 highlight -s turn code font 變量
rest 參數與擴展運算符
1.rest 參數
ES6 引入 rest 參數(形式為...
變量名),用於獲取函數的多余參數,這樣就不需要使用arguments
對象了。rest 參數搭配的變量是一個數組,該變量將多余的參數放入數組中。
function add(...values) {
let sum = 0;
for (var val of values) {
sum += val;
}
return sum;
}
add(2, 5, 3) // 10
上面代碼的add
函數是一個求和函數,利用 rest 參數,可以向該函數傳入任意數目的參數。
2.擴展運算符
擴展運算符(spread)是三個點(...
)。它將一個數組或對象轉為用逗號分隔的參數序列。
對數組
console.log(...[1, 2, 3])
// 1 2 3
console.log(1, ...[2, 3, 4], 5)
// 1 2 3 4 5
[...document.querySelectorAll(‘div‘)]
// [<div>, <div>, <div>]
對對象
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x // 1
y // 2
z // { a: 3, b: 4 }
3.分析
rest 參數與擴展運算符可以理解為互為逆運算
rest 參數與擴展運算符