TS基本入门

39 阅读2分钟

TS基本入门

1. TS基本介绍

image.png

image.png

2. TS基本语法

image.png可以看出,基本数据类型变换很简单。但要注意的是,:后面的东西不仅仅可以是基本的数据类型,还可以是字符串。在函数重载中就可以看出这一点。

image.png在TS中,会在类型起始写一个大写的“I”来表示一个类型,以与对象和类进行区分。以下的interface就是对一个类型定义的关键字。

image.png对于函数的类型声明其实就是对其的入参与出参的声明。有两种对函数类型声明的方式,如上图所示。

image.png重载是为了根据不同传参返回不同参数。而下方这个程序可以看出报错了,原因是将一个匿名函数赋值给了一个变量。而该匿名函数不是IGetDate类的(TS会在编译过程中进行类型匹配校验)。

image.png

image.pngtype关键字是别名,类似于宏定义。其中枚举的这些就是0,1,2...与C语言中相同。

image.png

image.pngT就是一个泛型,在定义前不知道,在函数执行中才进行定义。泛型用尖括号包裹,写在名称的后面。

image.png

image.png上面定义的是一个函数的泛型,而下面实现的是一个类型别名的泛型,有一点点的差别。

image.pngas关键字用于断言,有可能得到的结果与本来的类型匹配不上但肯定正确,可以用as关键字断言,如图所示。

image.png

3. 高级语法

问题案例1:image.png

化简后:image.png

问题案例2:image.png

解决方法:image.pngis关键字判断是否是该类型,是的话执行接下来的方法,类似于ifimage.png

此时可以不使用类型守卫:image.png可以看出,只有两个类型完全没有重合点的时候才需要使用类型守卫,不然的话用type进行判断就能分别不同的类型了。

问题案例3:

image.png第二种方法虽然简洁,但要求入参必须是正确的。image.png

image.pngPartial代表子集,是ts中内置的关键字,IPartial是该关键字的具体实现过程。

问题案例4:image.png

解决方法:image.png这里的ReturnType也是固定的关键字,表示是函数返回的类型。

4.工程应用

image.png

image.png