一、用法
1、合并数组与输出
let a1 = [1, 2, 3];
let a2 = [3, 4, 5];
a3 = [...a1, ...a2];
console.log(a3);
console.log(...a3);
- 输出结果
2、函数不定参数
let way = (...arr) => {
return arr.reduce((sum, now) => { // redecu 用于求和,其返回最后 sum
return sum + now;
})
}
console.log(way(1, 2, 3)); // 6
console.log(way(4, 5, 6)); // 15
3、对象深拷贝
let obj1 = {
name: "张三"
}
let obj2 = {
...obj1
};
obj1.name = "无"
console.log(obj2.name); // 张三
- 不可以对对象进行展开,如下会报错 ```css let obj1 = { name: “张三” }
console.log(…obj1); // Found non-callable @@iterator
- 深拷贝时也可以修改指定属性
```css
let obj1 = {
name: "张三"
}
let obj2 = {
...obj1,
name: "李四"
};
console.log(obj2.name); // 李四