typescript中,...是什么符号?

发布时间 2023-06-08 23:33:08作者: johnny_zhao

在TypeScript中,...是扩展操作符(Spread Operator)和剩余操作符(Rest Operator)的语法表示形式。

1. 扩展操作符 (Spread Operator):用于将数组和对象自动展开并构建可迭代的值列表。语法为"...",通常用在函数调用参数中。例如:

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const mergedArr = [...arr1, ...arr2];    // [1, 2, 3, 4, 5, 6]

在上面的例子中,使用了扩展操作符"..."将arr1和arr2数组展开,并将它们合并成一个新的数组。

 

2. 剩余操作符 (Rest Operator):用于将多个参数收集为一个数组。语法也是"...",通常用在函数的参数定义中。例如:

function sum(...args: number[]) {
    return args.reduce((prev, curr) => prev + curr, 0);
}

const total = sum(1, 2, 3, 4, 5);   // 15

在上面的例子中,使用了剩余操作符"...",将传递给sum函数的所有参数收集到一个数组中。

除了这两种用途之外,在TypeScript中,"..."还可以用于解构,即将一个对象或数组解构为单独的元素。例如:

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

在上面的例子中,使用了扩展操作符"..."将arr数组中的前两个元素解构为first和second变量,将剩余元素解构为rest数组。