目录
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