《TypeScript实战指南》—2.2 高级类型

举报
华章计算机 发表于 2019/06/16 11:34:49 2019/06/16
【摘要】 本节书摘来自华章计算机《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

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

全部回复

上滑加载中

设置昵称

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

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

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