这是我参与「第五届青训营 」笔记创作活动的第5天。
一、本堂课重点内容:
- TypeScript 历史及定义解析
- TypeScript 优势解读
- 联合交叉类型
- 类型保护与类型守卫
- Merge 函数类型实现
- 函数返回值类型
- 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的延迟。
三、实践练习例子:
根据返回promis,结果作为入参函数的返回值。
四、课后个人总结:
typescript在node.js运用较多,但是我学习了解的还是很少的,需要课后更加努力。