TypeScript | 青训营笔记

51 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第5天。

一、本堂课重点内容:

  1. TypeScript 历史及定义解析
  2. TypeScript 优势解读
  3. 联合交叉类型
  4. 类型保护与类型守卫
  5. Merge 函数类型实现
  6. 函数返回值类型
  7. TypeScript 工程应用

二、详细知识点介绍:

2012-10微软发布了第一个typescript版本,直至2021-11,v4.5版本发布。区别于JavaScript,typescript是静态类型,弱类型语言。可读性增加和可维护性增加。因此,typescript在多人合作的大型项目中,可以获得更好的稳定性和开发效率。它还包含兼容所有JavaScript特性,且支持共存,还支持渐进式引入与升级。

函数重载,对getDate函数进行重载,timestamp为可缺省参数。泛型,不预先指定具体的类型,而在使用的时候再指定类型的一种特性他T[]。泛型约束,限制泛型必须符合字符串。

联合类型:|A | |B可以表示一个值可以是几种类型之一,而 &是多种类型叠加到一起成为一种类型,它包括了所需的所有类型的特性。

类型守卫是定义一个函数,它的返回值是一个类型谓词,生效范围为子作用域。merge函数必须要求sourceObj必须为targetObj的子集。但是类型实现容易繁琐,若obj类型较复杂,则声音source和target需要两遍。

函数返回值由delayCall进行类型声明,delayCall接受一个函数作为入参,可以实现1s的延迟。

三、实践练习例子:

image.png

根据返回promis,结果作为入参函数的返回值。

四、课后个人总结:

typescript在node.js运用较多,但是我学习了解的还是很少的,需要课后更加努力。