// 数组展开
let arr1 = [1, 2, 3, 4];
console.log(...arr1, "arr1"); // 1 2 3 4
// 数组拼接后展开
let arr2 = [5, 6, 7, 8, 9]
console.log(...arr1, ...arr2); // 1 2 3 4 5 6 7 8 9
// 在函数中使用
function sum(...numbers) {
return numbers.reduce((preValue, currentValue) => {
return preValue + currentValue
})
}
console.log(sum(1, 2, 3, 4));// 累加
// 构造字面量对象时使用展开语法
let person = { name: 'tom', age: 19 }
let person2 = { ...person }
person.name = "ysn"
console.log(person, "person") // { name: 'ysn', age: 19 }
// console.log(...person); // 报错 展开运算符不能展开对象
console.log(person2, "person2"); // { name: 'tom', age: 19 }
//合并
let person3 = { ...person2, name: 'jack', address: '地球' };
console.log(person3, "person3"); // 增加的键相同的话,就覆盖值,新的键就加上