说明
泛型是ts中非常常见的写法。泛型的作用简单的说就是动态的设置类型参数。
使用
为什么使用泛型呢,先来看下面的这个例子:
function fn1(param: string) {console.log(param);}function fn2(param: boolean) {console.log(param);}
上面的代码中,我们创建了两个函数,仔细观察就会发现,两个函数除了参数不同,其他的地方都是一致的。
这个时候不妨思考一下,如何将两个函数合并成一个函数,从而减少代码量。
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);
注意
无。
总结
通过泛型,可以进行参数的动态传递。让代码更加的灵活。
