TypeScript 高级类型
TypeScript 有许多高级类型,方便系统更好判断代码是否存在不合理的点,也更方便用户来排查错误和编写代码,下面介绍一些常用的高级类型,这些高级类型在日常开发中可能没有机会用到,但是了解一下对我们并没有任务坏处
交叉类型
交叉类型是将多个类型合并为一个类型。 这让我们可以把现有的多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性
相当于混入(mixin
),在新的类型中,可以拥有合并的所有类型中的成员
使用 &
来表示交叉
1 | function extend<T, U>(first: T, second: U): T & U { |
通过上述例子,我们利用泛型创建一个 extend
方法用来合并两个对象,通过交叉符号 &
判断函数返回类型是传入类型的合并类型
这样我们在访问 extend
返回的对象时,如果获取到不存在的属性,就会贴心的为我们提示错误
联合类型
联合类型与交叉类型很有关联,但是使用上却完全不同.
交叉类型 是将多个类型合并成一个新的类型
联合类型 是满足多个类型中的一个,这些类型可以是基础类型(string
, number
…) 也可以是用户定义的类或者接口
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment
DisqusValine