扩展运算符"…"是在ES6中引入的一种语法,它用于展开数组、对象或字符串。扩展运算符的主要作用是快速、简洁地实现对集合元素地操作。下文将介绍扩展运算符的几种基本用法。
在 TypeScript 中,与 JavaScript 一样,你可以使用扩展运算符(Spread Operator)来进行一些方便的操作,比如将数组展开成独立的元素、合并对象等。以下是一些 TypeScript 中常见的使用扩展运算符的场景:
- 数组展开:可以将一个数组展开成独立的参数。
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combinedArray = [...arr1, ...arr2];
console.log(combinedArray); // 输出 [1, 2, 3, 4, 5, 6]
- 函数调用:可以在函数调用时使用扩展运算符传递数组作为参数。
function sum(...numbers: number[]) {
return numbers.reduce((acc, curr) => acc + curr, 0);
}
const nums = [1, 2, 3, 4, 5];
console.log(sum(...nums)); // 输出 15
- 对象合并:可以使用扩展运算符来合并对象。
const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4 };
const combinedObj = { ...obj1, ...obj2 };
console.log(combinedObj); // 输出 { a: 1, b: 2, c: 3, d: 4 }
- 拷贝数组或对象:使用扩展运算符可以快速复制数组或对象。
const originalArray = [1, 2, 3];
const newArray = [...originalArray]; // 复制数组
const originalObj = { x: 1, y: 2 };
const newObj = { ...originalObj }; // 复制对象
以上场景同样适用于鸿蒙开发!