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 中的箭头函数][]。

相关文章
|
JavaScript
ts常用的语法
ts常用的语法
|
6月前
|
JavaScript
|
7月前
|
JavaScript 编译器 开发者
TS类型断言
TS类型断言
55 0
|
JavaScript 前端开发 开发者
ts详解以及相关例子(一篇带你详细了解ts)
ts详解以及相关例子(一篇带你详细了解ts)
176 1
|
JavaScript
ts中枚举
ts中枚举
59 0
|
JavaScript 前端开发
ts - 类
TypeScript支持JavaScript的新特性,比如支持基于类的面向对象编程。让我们创建一个Student类,它带有一个构造函数和一些公共字段。 注意类和接口可以一起工作。
【TS】函数和函数类型
【TS】函数和函数类型
87 0
【TS】枚举
【TS】枚举
77 0
|
JavaScript
【TS】ts的使用和类型注解
【TS】ts的使用和类型注解
143 0
|
存储 JavaScript
【TS】object类型
【TS】object类型
91 0