MST
星途 面试题库

面试题:TypeScript中剩余参数的基本语法及常见用途

请简述TypeScript中剩余参数的语法格式,并举例说明至少两种在实际开发中的常见用途。
15.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

语法格式

在TypeScript中,剩余参数使用 ... 语法来表示,它允许将一个不定数量的参数作为一个数组来处理。其语法格式如下:

function functionName(...args: type[]) {
    // 函数体
}

其中 ...args 就是剩余参数,args 是参数名,可以自定义,type 是这些参数的类型。

实际开发中的常见用途

  1. 函数接收不定数量参数 比如实现一个求和函数,它可以接收任意数量的数字并返回它们的和:
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);
  1. 将数组展开作为函数参数 假设有一个函数 logValues 用于打印传入的值,我们可以使用剩余参数将数组展开作为参数传入:
function logValues(...values: any[]) {
    values.forEach(value => console.log(value));
}
const arr = [1, 'hello', true];
logValues(...arr);
  1. 在函数重载中结合剩余参数
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);

在这个例子中,通过函数重载结合剩余参数,实现了针对不同类型参数的处理。