《TypeScript实战指南》—2.3 函数
2.3 函数
在这部分中,我们将主要聚焦于函数、形参和实参的声明和使用。和JavaScript一样,TypeScript函数可以创建有名字的函数和匿名函数,如下所示:
// 有名字的函数
function add1(x, y) {
return x + y;
}
// 匿名函数
const add2= function(x, y) { return x + y; };
本节将介绍如何定义函数,以及如何灵活地给参数赋值。
本节还介绍回调函数、promise、async和await,这些都是用于控制异步操作的。回调函数是一种相对传统的操作形式,promise 已被现代浏览器所支持,所以使用相对广泛。而 async 和 await 目前大多用于 Node.js 环境中,很少在浏览器环境中使用。
在这里,我们不会花篇幅去讲解关于变量作用域提升相关的知识,关于这方面的讨论其他的书或文章已经讲得太多了,所以我们还是会专注于 TypeScript 上,重点观察与 TypeScript 相关的内容,与 JavaScript 相同的内容则会简述。
2.3.1 定义函数
让我们为前面的add1函数添加类型,让它变成一个 TypeScript 的函数:
function add1(x: number, y: number): number {
return x + y;
}
// ts: function add1(x: number, y: number): number
const add2= function(x: number, y: number): number { return x + y; };
// ts: const add2: (x: number, y: number) => number
我们可以给每个参数添加类型之后,再为函数添加返回值类型。不过TypeScript能够根据返回值自动推断出类型,因此我们通常省略它,除非必要的时候。现在我们忽略掉其返回值的类型吧,如下所示:
function add1(x: number, y: number): number {
return x + y;
}
// ts: function add1(x: number, y: number): number
const add2 = function(x: number, y: number): number { return x + y; };
// ts: const add2: (x: number, y: number) => number
函数类型包含了两部分:参数类型和返回值类型。
所以我们也可以给一个变量赋值一个函数类型:
let add2: (x: number, y: number) => number
- 点赞
- 收藏
- 关注作者
评论(0)