一、简介
开展语法(Spread syntax),是将数组、string或者(key-value)对象在语法层面开展,用在函数调用和数组结构时,关键字是:...
1、数组
function sum(x, y, z) { return x + y + z;}const numbers = [1, 2, 3];console.log(sum(...numbers));// 用下面的写法,代替上面console.log(sum(numbers[0], numbers[1], numbers[2]));// 输入后果: 6
2、工夫 - new
// 在 new 表达式中利用var dateFields = [1970, 0, 1]; // 1970年1月1日var d = new Date(...dateFields);
3、数组拷贝
// 数组拷贝(copy)var arr = [1, 2, 3];var arr2 = [...arr]; // like arr.slice()arr2.push(4);// arr2 此时变成 [1, 2, 3, 4]// arr 不受影响
4、数组拼接
// 失常写法:将 arr2 中所有元素附加到 arr1 前面并返回var arr1 = [0, 1, 2];var arr2 = [3, 4, 5];var arr3 = arr1.concat(arr2);// 应用开展语法:var arr1 = [0, 1, 2];var arr2 = [3, 4, 5];var arr3 = [...arr1, ...arr2];
5、对象
// 结构字面量对象时应用开展语法var obj1 = { foo: 'bar', x: 42 };var obj2 = { foo: 'baz', y: 13 };var clonedObj = { ...obj1 };// 克隆后的对象: { foo: "bar", x: 42 }var mergedObj = { ...obj1, ...obj2 };// 合并后的对象: { foo: "baz", x: 42, y: 13 }
二、参考链接:
- JavaScript开展语法详解!