TS基本入门
1. TS基本介绍
2. TS基本语法
可以看出,基本数据类型变换很简单。但要注意的是,:后面的东西不仅仅可以是基本的数据类型,还可以是字符串。在函数重载中就可以看出这一点。
在TS中,会在类型起始写一个大写的“I”来表示一个类型,以与对象和类进行区分。以下的interface就是对一个类型定义的关键字。
对于函数的类型声明其实就是对其的入参与出参的声明。有两种对函数类型声明的方式,如上图所示。
重载是为了根据不同传参返回不同参数。而下方这个程序可以看出报错了,原因是将一个匿名函数赋值给了一个变量。而该匿名函数不是IGetDate类的(TS会在编译过程中进行类型匹配校验)。
type关键字是别名,类似于宏定义。其中枚举的这些就是0,1,2...与C语言中相同。
T就是一个泛型,在定义前不知道,在函数执行中才进行定义。泛型用尖括号包裹,写在名称的后面。
上面定义的是一个函数的泛型,而下面实现的是一个类型别名的泛型,有一点点的差别。
as关键字用于断言,有可能得到的结果与本来的类型匹配不上但肯定正确,可以用as关键字断言,如图所示。
3. 高级语法
问题案例1:
化简后:
问题案例2:
解决方法:is关键字判断是否是该类型,是的话执行接下来的方法,类似于if
此时可以不使用类型守卫:可以看出,只有两个类型完全没有重合点的时候才需要使用类型守卫,不然的话用type进行判断就能分别不同的类型了。
问题案例3:
第二种方法虽然简洁,但要求入参必须是正确的。
Partial代表子集,是ts中内置的关键字,IPartial是该关键字的具体实现过程。
问题案例4:
解决方法:这里的ReturnType也是固定的关键字,表示是函数返回的类型。