由三个点 ( …) 表示,JavaScript 扩展运算符是在 ES6 中引入的。它可用于将集合和数组中的元素扩展为单个单独的元素。

扩展运算符可用于创建和克隆数组和对象、将数组作为函数参数传递、从数组中删除重复项等等。

语法

扩展运算符只能用于可迭代对象。它必须在可迭代对象之前使用,没有任何分隔。例如:

1.展开一个数组

    console.log(...arr);
    const arr = [1,2,3];
    console.log(...arr);  // 1 2 3

    const arr2 = [...arr, 4, 5, 6];
    console.log(arr2);  // [1, 2, 3, 4, 5, 6]

2.在函数中使用

    function add(...numbers) {    
           let total = 0;
           for (let i = 0; i<numbers.length; i++){
                   total += numbers[i];
           }
          return total;
    }
     console.log(add(1,2,3,4,5)); //15

3.在对象中使用

3.1深拷贝对象

       let stu = {name : 'zzs', age: 37};
       let stuCopy = {...stu};
       console.log(stuCopy); // {name: 'zzs', age: 37}

3.2合并对象

    let stu = {name : 'zzs', age: 30};    
    const student = {
            ...stu,
            city: 'Nanjing',
            province: 'Jiang su',
      };
     console.log(student ); 
     //{
     //    "name": "zzs",
     //    "age": 30,
     //    "city": "Nanjing",
     //    "province": "Jiang su"
     // }