1. 编译TS文件
tsc + 文件名 ,如
实例
tsc + 文件名 -w 可以实时编译
2. 类型声明
类型声明
3. TS的类型
新增了部分基本类型
1)字面量
字面量
2)any
表示任意类型,可以任意赋值。一个变量设置类型为any后相当于对该变量关闭了TS类型检测。
隐式 any
any类型的可以赋值给任意变量
3)unknow
表示未知类型,是一个类型安全的any
unknow类型的不可以直接赋值给其他变量
unknow赋值
4)void , never
void 表示空,以函数为例,就表示没有返回值,允许 return null 或者 return。
never 表示永远不会返回结果
5) object
{ } 用来指定对象中可以包含哪些属性
任意属性
6)array
类型声明:1. 类型[ ] 2. Array<类型>
类型声明
7)tuple
元组,就是固定长度及类型的数组
对应长度
8)enum
定义枚举类型需要使用enmu关键字,自定义一个类型,枚举是通过数字类型实现的,typeof 验证显示Number
枚举
使用枚举对参数进行限制
数字枚举:枚举类型中的每一个常量都是数字,在 TS 中, 枚举内的每一个常量, 当你不设置值的时候, 默认就是 number 类型。
第一个默认值是 0, 后面的依次 +1 递增。也可以指定值,指定常量后面的未指定常量, 就会按照 +1 的规则一次递增。
数字枚举
枚举合并:两个枚举都叫同一个名字, 会在编译的时候自动放在一起, 不会出现冲突
枚举合并
反向映射:TS 内的数字枚举, 在编译的时候, 会同时将 key 和 value 分别颠倒编译一次
反向映射
4. 类型约束
类型约束
1)基本类型及基本类型联合
基本类型
基本类型联合
2) 对象类型及对象类型联合
对象类型
对象联合类型, 和 interface 的 extends 继承很像
对象类型联合