Typescript学习 | 青训营笔记

51 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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工程化应用

  1. 配置webpack loader相关配置
  2. 配置tsconfig.js文件
  3. 运行webpack启动/打包
  4. loader处理ts文件时,会进行编译与类型检查