《TypeScript实战指南》—2.2 高级类型
【摘要】 本节书摘来自华章计算机《TypeScript实战指南》一书中的第2章,第2.2.1节,作者是胡桓铭。
2.2 高级类型
上一节介绍的TypeScript类型,除了泛型以外,都在 JavaScript 中有同样的定义和应用,而本节介绍的高级类型则完完全全属于 TypeScript独有的。我们需要了解如何进行类型保护、类型区分以及类型推导,这对于高效使用 TypeScript 非常有帮助。
另外, interface 关键字可以用于描述对象的结构,为了复用对象结构,自然会催生出交叉类型和联合类型等需求,那么,interface便大有用场。
2.2.1 interface
一个很常用的场景,比如函数传参,除了基本类型和数组以外,我们通常喜欢使用字典作为参数,那该如何对字典进行类型约束呢?TypeScript 引入了interface 关键字,为我们提供了表达字典的能力,如下面的例子所示:
interface A {
a: number,
b: string,
c: number[]
}
let a: A
a.a = 1
a.b = 'hello'
a.c = [1, 2 ,3]
a.d // [ts] Property 'd' does not exist on type 'A'.
表达字典的类型是 interface 最常用的场景,除此以外,interface 作为接口的能力将在下一章详细讲述。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)