泛型的使用场景和具体使用方法
文章目录
为什么要使用泛型如下情况(我们不知道对象的类型也,这样我们无法定义obj的类型也无法知道k的类型)
泛型函数
function getVal(obj,k){
return obj[k];
}
这个时候我们就可以使用到了泛型,我们可以定义一个泛型参数在调用函数的时候传入泛型参数就可以了
function getVal<T>(obj:T,k:keyof T){
return obj[T]
}
//调用的时候
let obj1={
name:"Ass",
age:23,
gender:"male"
}
let result =getVal<typeof obj1>(obj1,"name");
所谓的泛型就是给可变(不定)的类型定义变量(参数),<>类似()
泛型类
就像基于react的模拟组件
abstract class Component<T1, T2> {
props: T1;
state: