这是我参与「第五届青训营 」伴学笔记创作活动的第 五 天 TypeScript 如何快速联系 前端主流基本都支持
- 动态类型/静态类型
- 动态类型:执行阶段才检验匹配(脚本类型)
- 静态类型:java python必须先编译,生成产物去执行
- 弱类型语言:类型转换,字符串和数字可以相加
- typescript可以实现一个文档,用ide可以解析代码进行提示。
- 可维护性增强:在编译时可以给出大部分错误
2012年提出,ts支持渐进式改造升级,js->ts 基础数据类型可以直接定义
:后面加类型
自定义类型,大写i开头表示类型
只读属性readonly
可选属性?:
any是ts特有类型
少了name会进行提示
函数
函数自变量,匿名函数赋值给变量 函数重载
数组类型
花括号元组,符号相互映射
泛型
定义了一个T的变量,定义类型时还不明确
可以进行类型约束
泛型的默认语法
reduce,as进行类型断言
高级类型
ts比js要多写很多代码,使用高级类型,基础数据类型定义高级类型。 最后自动延伸出非常多的类型 联合类型、交叉类型
存在很多重复,可以把author/type抽象出来,数组中元素可以有历史书/故事书两种类型。
代码可读性增强
联合交叉类型
,可以更好表达出对需求的理解,历史书的种类必须是history,故事书类型必须是story。
类型保护、类型守卫