面试题答案
一键面试语法格式
在TypeScript中,剩余参数使用 ...
语法来表示,它允许将一个不定数量的参数作为一个数组来处理。其语法格式如下:
function functionName(...args: type[]) {
// 函数体
}
其中 ...args
就是剩余参数,args
是参数名,可以自定义,type
是这些参数的类型。
实际开发中的常见用途
- 函数接收不定数量参数 比如实现一个求和函数,它可以接收任意数量的数字并返回它们的和:
function sum(...numbers: number[]): number {
return numbers.reduce((acc, num) => acc + num, 0);
}
const result1 = sum(1, 2, 3);
const result2 = sum(10, 20, 30, 40);
- 将数组展开作为函数参数
假设有一个函数
logValues
用于打印传入的值,我们可以使用剩余参数将数组展开作为参数传入:
function logValues(...values: any[]) {
values.forEach(value => console.log(value));
}
const arr = [1, 'hello', true];
logValues(...arr);
- 在函数重载中结合剩余参数
function printValues(...values: string[]): void;
function printValues(...values: number[]): void;
function printValues(...values: (string | number)[]) {
values.forEach(value => console.log(value));
}
printValues('a', 'b', 'c');
printValues(1, 2, 3);
在这个例子中,通过函数重载结合剩余参数,实现了针对不同类型参数的处理。