这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天
Typescript是什么?
TypeScript是JavaScript的超集(a是b的超集代表a完全包含b)。
Typescript和Javascript的区别?
- Typescript是静态类型语言+弱类型语言,而Javascript是动态类型语言+弱类型语言。(静态类型和动态类型的区别在于类型检查的时机:静态类型的类型检查是在编译时就检查了,动态类型的类型检查是执行时才检查。)(强类型和弱类型:强类型就是,一个变量的类型被确定之后,除非经过强制转换,否则这个变量的类型是不会变化的。而弱类型的变量类型可以随意变化。)
- typescript可读性强:有这个具体类型,我们就很容易看出这个变量是属于什么类型,是做什么的。
- tyepscript可维护性强:在编译阶段就已经暴露大部分错误了。
安装
npm install -g typescript
编译执行
tsc 需要执行的文件.ts
typescript基础数据类型有
字符串、数字、布尔值、null、undefined
对象类型可以用接口定义
函数类型
函数可以用接口定义
interface Fun {
(a:number):string
}
函数重载
interface Fun {
(a:number):string
(a:string):number
}
typescript的补充类型
空类型,表示无赋值 例如 type A = () => void 任意类型:any,是所有类型的子类型 枚举类型:实现枚举名到枚举值的正反映射(默认枚举值是0,1,2,3,4递增数字)
泛型
有泛型类、泛型函数、泛型接口、多泛型,默认泛型
类型别名
type关键字定义的就是类型别名
类型断言
通过as来进行断言
高级类型
- 联合类型(通过 | 关键字)
- 交叉类型(通过 & 关键字)
Typescript工程化应用
- 配置webpack loader相关配置
- 配置tsconfig.js文件
- 运行webpack启动/打包
- loader处理ts文件时,会进行编译与类型检查