这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
TypeScript
什么是TypeScript
基本语法
基础数据类型
let/const变量名:变量类型 = 值- 在ts中,为变量指定了类型,就只能给该变量设置相同类型的值
对象类型
-
interface用来建立某种代码约定,使得其它开发者在调用某个方法或者创建新的类时,必须遵循接口所定义的代码约定 -
接口的前面加了一个 I 字母
函数类型
- 括号里面对参数进行声明
- 括号外对返回值进行声明
函数重载
函数重载的定义
- 一个或多个签名组合叫做函数重载
- 外部调用函数重载时,只能调用重载的签名 (函数体前面的叫做签名)不能够调用使用的函数签名(这个是TS规定的)
- 调用函数重载时会根据传递的参数来判定调用的那个函数
- 只有一个函数体,只有实现签名配备了函数体,所有重载签名只有签名,没有配置函数体
函数重载的作用
- 结构分明
- 各司其职,自动提示方法和属性
- 更利于拓展功能
数组类型
-
为什么需要元组?
TS中数组元素类型必须一致,如果需要不同元素,可以使用元组。
-
特点
声明时,需要制定元素的个数
声明时,需要为每个元素设置类型
补充类型
类型别名&类型断言
extends关键字在此处的作用是 泛型约束 使得函数keyBy需要符合IObjArr的声明
as用于断言,语法规范为- 值 as 类型 = 值<类型>
字面量
高级类型
联合/交叉类型
类型保护与类型守卫
类型守卫主要方式
in关键字typeof关键字instanceof关键字- 自定义类型保护和类型谓词
工程应用
将写好的ts代码转成js文件然后再被浏览器进行解读