TypeScript 解释关于rest参数和参数的问题

TypeScript 解释关于rest参数和参数的问题

在本文中,我们将尝试理解与TypeScript中的Rest参数和参数相关的所有基本事实或细节。

Rest参数:

  • Rest参数允许我们接受指定类型的零个或多个参数。
  • 函数(或方法)只有一个rest参数。
  • 此参数在函数的指定参数列表中出现在最后。
  • 由于这里是TypeScript,所以rest参数的类型是数组类型(进一步,数组可以是字符串数据类型、数字数据类型或其他任何类型)。

语法:

以下是TypeScript提供的rest参数语法。

function function_name (...rest_parameter_name : type[]) { }

这里的“…”(三个点)表示剩余参数语法,后面是剩余参数的名称,再后面是剩余参数的类型(必须是数组数据类型)。

Rest参数:

  • 这些是我们在合并两种数据类型时传递的参数(假设是两个数组的连接),使用相同的“…”(三个点)。
  • 这种类型的参数通常用于合并、连接或其他操作目的。

语法: TypeScript中使用剩余参数的语法如下(通过示例进行说明)。

let array_1 : number[] = [1 , 2 , 3];
let array_2 : number[] = [5 , 6, 7];
array_1.push(array_2);

以下示例将帮助我们更清楚地理解上述说明的事实(如果您不知道,这些示例只能在本地PC上运行,如果您已安装了typescript,否则您可以选择一些在线typescript编译器)。

示例1: 在这个示例中,我们将使用剩余参数语法,在函数中获取传递的整数参数的总和。

Javascript

function getSum(...numbers: number[]): number {
    let sum = 0;
    numbers.forEach((num) => sum += num);
    return sum;
}
 
// Function call
console.log(getSum(10 , 50 , 30));
console.log(getSum(-50 , 50 , -10 , 5));

输出:

90
-5

例子2: 在这个例子中,我们将多个字符串连接在一起,并通过函数作为参数传递进去。

Javascript

let generateGreeting = (greeting: string, ...names: string[]) : string =>{
    return greeting + " " + names.join(", ") +"!";
}
 
// Function call
console.log(generateGreeting("Hello ", "GeeksforGeeks ", "ABCD ", "Apple"));

输出:

Hello  GeeksforGeeks , ABCD , Apple!

示例3: 在这个例子中,我们将对作为参数传递给函数的所有数字进行乘法运算。

Javascript

let multiply = (a: number, ...numbers: number[]): number =>{
  return numbers.reduce((acc, curr) => acc * curr, a);
}
 
// Function call
let result1 = multiply(2, 2, 2, 2, 7); 
let result2 = multiply(2, 3, 2, 5, 8); 
 
// Printing data
console.log(result1);
console.log(result2);

输出:

112
480

参考: https://www.typescriptlang.org/docs/handbook/functions.html#rest-parameters

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程