目录
1 数组
2 对象
3 元组
4 类型别名(自定义类型)
5 接口
5.1 基本使用
5.2 接口继承
6 字面量类型
7 枚举类型
7.1 基本使用
7.2 枚举的默认值
7.3 给枚举数值
7.4 给枚举字符串值
7.5 ts的枚举转换为js
8 any类型
1 数组
只包含数字的数组可以这样注解
![]()
只包含字符串的数组可以这样注解
![]()
数组中只包含数字与字符串可以这样注解
![]()
- 在ts的类型注解中 | 表示联合类型,意思为 | 前后两种类型的其中一种
并不是只能像上面那样写,你可以任意进行组合。比如只有数字的数组你可以写成 number[],也可以写成Array<number>
2 对象
对象实际上就是一个一个的基本变量组成的

没有返回值的函数就给void,有返回值的对象你就去定义指定的类型
函数就如果要加参数就跟函数类型加的方法一样

也可以不用分号改成换行

函数规则也可以这样写

对象也可以有可选的属性,这里这个something你写不写就无所谓

3 元组
不同语言对元组的定义不同,在ts中元素是另一种类型的数组。元组需要知道数组中元素的个数,以及每一个元素的类型都是什么
比如下面a的规则就是元组
![]()
元组规则需要数组的元素个数正确,每个元素的类型正确
4 类型别名(自定义类型)
类型别名就是相当于注解的变量,我们简单用一下
我注解为a,b,c为数字或字符串

使用类型别名的目的是在重复使用某一条约束的时候比较方便
5 接口
5.1 基本使用
接口实际上就是自定义对象

接口只能给对象用,自定义类型可以给变量用,你要用自定义类型你就这样写

5.2 接口继承
我下面就是让IPerson1继承了IPerson的全部内容,然后有加入了gender和something这两个节点
当你使用IPerson1的时候,你必须使用 name,age,sayHi(),gender,something 5个节点才不会报错

6 字面量类型
你用const定义的变量就是字面量类型,因为const是常量,定义完了你就动不了了
我用const定义了a,a是字符串,但是他写的是something,这个就叫字面量类型

就相当于这样写

如果用其他的关键字声明,它就会显示string,而不是某一个具体的值

不只只有字符串这样,其他的变量类型也是这样

字面量类型常用于函数参数明确的可选值,比如下面这个函数,你只能选择up down left right 这四个值,别的不行

7 枚举类型
7.1 基本使用
枚举类型就相当于上面的 字面量+联合类型

7.2 枚举的默认值
向我们上面那样写,枚举的值依次是0 1 2 3


7.3 给枚举数值
如果你像给别的值,你就在Direction中把每一个值给了


你把鼠标直接悬停在Up上,也能看Up的值是多少

7.4 给枚举字符串值


7.5 ts的枚举转换为js
转换之后是这样的,如果你之前有Direction就用你之前的Direction,如果没有Direction我就给你造一个新的,然后把四组键值塞进去

我们直接简单测一下,第一种情况是我已经定义了一个Direction对象

它就会保留你原来的键,然后把四组键值塞进去

第二种情况是,我之前没声明过Direction


第三种情况是我声明了Direction,但是Direction不是对象


8 any类型
any类型就是不让ts约束变量的类型

用any类型你就可以随便改了
any一般就当pass用了,就是你暂时不想理会这个变量到底是什么类型,能先跑通了就完了,后面想改的时候在改,这个时候可以用any
在ts中
- 如果声明变量不提供类型也不提供默认值的时候,这个变量的类型是any
- 函数参数不加类型的时候,参数的类型是any



















