《TypeScript实战指南》—2.3 函数

举报
华章计算机 发表于 2019/06/16 12:56:54 2019/06/16
【摘要】 本节书摘来自华章计算机《TypeScript实战指南》一书中的第2章,第2.3.1节,作者是胡桓铭。

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


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。