ts笔记 — 类型

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 继承很像

对象类型联合
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容