TypeScript中使用类型断言的几种方式分享
作者:思路大于开发
在TypeScript中,类型断言用于告诉编译器某个变量的类型,这在我们确定变量的类型比编译器更准确时非常有用,本文给大家分享了几种TypeScript中使用类型断言方式,需要的朋友可以参考下
正文
- 为什么需要类型断言
尽管类型推断很智能,但同时也很死板,不懂得变通。如果严格按照推断来定义类型可能会让开发者付出一些额外的却有不必要的工作与精力。事实上,开发者在不犯错的情况下,往往比编译器更清楚自己想要的类型,因此需要一种手段来绕过默认的推导行为
- 如何断言
1.as
通过as关键字,可以强制将一个类型断言为另一个类型。如下,将Ani
断言为Spp
2.as const
在TypeScript
中,let
声明的变量具有更宽泛的类型推导
而const
则范围更小
下边是一个与联合类型结合使用的例子。由于s
表示的是一个更宽泛的number
类型,number
又是1|2
的父类型,从而产生报错
此时,只需要将s
替换为ss
,由于ss
表示的是子类型,根据协变特性,子类型可以代替父类型使用
3.非空断言
当我们明确在一定条件下,某个对象的某个key
一定存在时,可以通过!
进行标记
- 断言的条件
断言与any不同,它必须在一定的条件和范围内才能实现类型的互换,如下,两个不相干的类型之间无法断言
断言的前提条件是两个类型之间存在父子关系,能够产生协变或者逆变
- 超越断言规则的断言
由于unknow
是any
的子类型,而any
又是任意类型的父类型,因此通过此中转,可以完成任意类型的断言转换
如果本文对您有用,希望能得到您的点赞和收藏
到此这篇关于TypeScript中使用类型断言的几种方式分享的文章就介绍到这了,更多相关TypeScript类型断言的使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!