1.泛型在类中的使用
上面图片中,放进去一个string类型,但是我们调用了只有数字类型才有的方法,所以ts没有抓到这个错误,假定只有number类型的数据才能被添加到队列里,解决办法之一:添加的时候添加一个约束
但是这样写每次都需要修改,我们想要一种方法是无论什么类型被推入队列,被推出的类型是一样的,可以创作一个泛型类来解决
2.泛型在接口中的使用
泛型解决了TS世界的什么问题:
1.创建一个拥有特定类型的容器,彷佛给一个容器贴上标签,告诉希望是一个什么类型的,也像一个可变的参数一样,在用的时候传入生成不同类型的容器
2.可用来灵活约束参数的类型,不希望参数是特定死板的类型,或者传入的参数必须有某某属性,某某方法,否则就会报错
3.函数使用的时候,函数的类型推断不会流入到函数体内,所以使用函数表达式无法明确建立类型的绑定,使用泛型可以打破这个鸿沟,如下图,传入的是一个布尔值,result返回的是传入的类型