ts -函数的类型

简介: 在 JavaScript 中,有两种常见的定义函数的方式——函数声明(Function Declaration)和函数表达式(Function Expression)

函数声明

在 JavaScript 中,有两种常见的定义函数的方式——函数声明(Function Declaration)和函数表达式(Function Expression):

```tst s
// 函数声明(Function Declaration)
function sum(x, y) {
return x + y
}

// 函数表达式(Function Expression)
let mySum = function (x, y) {
return x + y
}


一个函数有输入和输出,要在 TypeScript 中对其进行约束,需要把输入和输出都考虑到,其中函数声明的类型定义较简单:

```ts
function sum(x: number, y: number): number {
  return x + y
}

注意,输入多余的(或者少于要求的)参数,是不被允许的

function sum(x: number, y: number): number {
   
  return x + y
}
sum(1, 2, 3)

// Expected 2 arguments, but got 3.
function sum(x: number, y: number): number {
   
  return x + y
}
sum(1)

// An argument for 'y' was not provided.

函数表达式

如果要我们现在写一个对函数表达式(Function Expression)的定义,可能会写成这样:

let mySum = function (x: number, y: number): number {
   
  return x + y
}

这是可以通过编译的,不过事实上,上面的代码只对等号右侧的匿名函数进行了类型定义,而等号左边的 mySum,是通过赋值操作进行类型推论而推断出来的。如果需要我们手动给 mySum 添加类型,则应该是这样:

let mySum: (x: number, y: number) => number = function (x: number, y: number): number {
   
  return x + y
}

注意不要混淆了 TypeScript 中的 => 和 ES6 中的 =>

在 TypeScript 的类型定义中,=> 用来表示函数的定义,左边是输入类型,需要用括号括起来,右边是输出类型。

在 ES6 中,=> 叫做箭头函数,应用十分广泛,可以参考 [ES6 中的箭头函数][]。

相关文章
|
11月前
|
JavaScript
ts常用的语法
ts常用的语法
|
23天前
|
JavaScript
|
1月前
|
JavaScript 编译器 开发者
TS类型断言
TS类型断言
16 0
|
7月前
|
JavaScript 前端开发 开发者
ts详解以及相关例子(一篇带你详细了解ts)
ts详解以及相关例子(一篇带你详细了解ts)
57 1
|
6月前
|
JavaScript
ts中枚举
ts中枚举
33 0
|
9月前
|
JavaScript
ts - 重载
重载允许一个函数接受不同数量或类型的参数时,作出不同的处理。
|
10月前
|
JavaScript
TS基本语法 TS中的泛型
TS基本语法 TS中的泛型
|
10月前
|
JavaScript 前端开发
TS基础用法
TS基础用法
70 0
|
12月前
【TS】函数和函数类型
【TS】函数和函数类型
59 0
|
12月前
【TS】枚举
【TS】枚举
51 0