2.数组,对象,元组,自定义类型,接口,字面量,枚举,any

目录

1  数组

2  对象

3  元组

4  类型别名(自定义类型)

5  接口

5.1  基本使用

5.2  接口继承

6  字面量类型

7  枚举类型

7.1  基本使用

扫描二维码关注公众号,回复: 16394834 查看本文章

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

猜你喜欢

转载自blog.csdn.net/potato123232/article/details/132043882