一、用法

1、合并数组与输出

  1. let a1 = [1, 2, 3];
  2. let a2 = [3, 4, 5];
  3. a3 = [...a1, ...a2];
  4. console.log(a3);
  5. console.log(...a3);
  • 输出结果

截屏2022-02-17 上午6.22.07.png

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);     // 李四