说明

泛型是ts中非常常见的写法。泛型的作用简单的说就是动态的设置类型参数。

使用

为什么使用泛型呢,先来看下面的这个例子:

  1. function fn1(param: string) {
  2. console.log(param);
  3. }
  4. function fn2(param: boolean) {
  5. console.log(param);
  6. }

上面的代码中,我们创建了两个函数,仔细观察就会发现,两个函数除了参数不同,其他的地方都是一致的。

这个时候不妨思考一下,如何将两个函数合并成一个函数,从而减少代码量。

  function fn1(param: string | boolean) {
    console.log(param);
  }

经过思考,代码大概改成上面这样。但是如果在调用函数的时候,传递的参数类型不固定该怎么解决呢?

这个时候就可以使用泛型来解决问题,所谓的泛型就是动态传递类型。下面是通过泛型改装的代码:

function fn1<T>(param: T) {
    console.log(param);
  }

这个时候我们在调用这个函数的时候,可以如下:

  function fn1<T>(param: T) {
    console.log(param);
  }

  fn1<string>('hello,world');
  fn1<boolean>(true);
  fn1<number>(100);

经过泛型的改装,我们的代码就可以支持传入任意类型的参数。

注意

无。

总结

通过泛型,可以进行参数的动态传递。让代码更加的灵活。