Rest/Spread Properties Operator
ECMAScript:6
ES6 中新增了兩種對於陣列操作的特性:Spread Operator
、Rest Parameters
,這兩個特性的語法共同點都是用 ...
三個點操作。
Spread Operator
Spread Operator
是將陣列展開成個別的值,較常用在組合陣列。
範例
let arr = [4, 5, 6];
let arr2 = [1, 2, 3, ...arr];
// [1, 2, 3, 4, 5, 6]
console.log(arr2);
// 1 2
console.log(...[1, 2]);
// Object
let obj = {
name: 'Johnson',
age: 40,
};
let obj2 = {
account: 'jonhsonlu',
...obj
};
console.log(obj2);
Rest Parameters
Rest Parameters
主要是處理 function
中不確定的參數值,另外要注意的是,Rest Parameters
一定要擺在最後一個參數。
範例
function sum(...numbers) {
let result = 0;
numbers.forEach(function (number) {
result += number;
});
return result;
}
console.log(sum(1));
console.log(sum(1, 2));
console.log(sum(1, 2, 3));
console.log(sum(1, 2, 3, 4));
console.log(sum(1, 2, 3, 4, 5));