📜  TypeScript-函数(1)

📅  最后修改于: 2023-12-03 14:48:05.663000             🧑  作者: Mango

TypeScript 函数

在 TypeScript 中,函数是一个核心的概念。 函数可以像任何其他变量一样被声明并赋值,也可以像函数那样传递和调用。

创建函数

使用 TypeScript 创建函数的语法和 JavaScript 类似。以下是一个简单的 TypeScript 函数:

function add(a: number, b: number) {
  return a + b;
}

这个函数接收两个数字类型的参数,并返回它们的和。请注意,参数的类型必须在函数名称后面指定。

函数类型声明

在 TypeScript 中,可以使用类型声明来指定函数的参数类型和返回类型:

function add(a: number, b: number): number {
  return a + b;
}

这个函数与上面的函数相同,但是使用了类型声明来指定参数和返回值的类型。

可选参数和默认参数

在 TypeScript 中,可以将函数的参数声明为可选或默认。以下是一个可选参数的示例:

function add(a: number, b?: number) {
  if (b) {
    return a + b;
  } else {
    return a;
  }
}

在这个函数中,参数 b 被声明为可选的。如果调用函数时没有提供 b,则函数将返回 a

以下是一个默认参数的示例:

function add(a: number, b = 0) {
  return a + b;
}

在这个函数中,参数 b 被声明为默认参数,它的初始值为 0。如果调用函数时没有提供 b,则函数将使用默认值 0

剩余参数

在 TypeScript 中,可以使用剩余参数来传递不定数量的参数。以下是一个剩余参数的示例:

function add(...numbers: number[]) {
  return numbers.reduce((total, num) => total + num, 0);
}

在这个函数中, numbers 参数被声明为剩余参数。这意味着函数可以接收任意数量的数字参数,并将它们存储在一个数组中。在这个函数中,我们使用了 reduce 函数来将数组中的所有数字相加并返回它们的总和。

函数重载

在 TypeScript 中,可以使用函数重载来声明同一个函数的不同版本。以下是一个函数重载示例:

function add(a: number, b: number): number;
function add(a: string, b: string): string;
function add(a: any, b: any): any {
  return a + b;
}

在这个示例中,声明了两个不同的函数重载,一个接受两个数字参数并返回数字,另一个接受两个字符串参数并返回字符串。在最后的函数声明中,我们将函数定义为一个通用函数,它可以接受任何类型的参数,并返回它们的和或连接字符串。

总结

在 TypeScript 中,函数是一个重要的概念。使用类型声明、可选参数、默认参数、剩余参数和函数重载等功能可以使函数更加强大和灵活。