软件工程的主要目的是构建不仅仅明确和一致的api,还要让你的代码具有很强的重要性:
1.比如我们可以通过函数来封装一些api,通过传入不同的函数参数,让函数帮忙我们完成不同的操作;
2.但是对于参数的类型是否也可以参数化呢?
function sum(num1:number,num2:number){
return num1+num2
}
sum(10,20)
//动态传类型
function sum<Type>(num1:Type,num2:type):Type{
}
function sum<Type>(num1:Type):Type{
return num1
}
sum<number>(1,2)
sum<{name:string}>({name:"why"})
sum<any[]>(["abc"])
//如果不给类型那么类型推导字面量类型
sum(1)
//泛型还可以传多个类型
function sun<E,F>(num1:E,num2:F){}
sum<number,string>(213,'231')
泛型就是将类型参数化
function sun<E,F,o,k>(num1:E,num2:F,num3?:o,...num4:o){}
//必选参数和可选参数
sum<number,string>(213,'231')
ts 泛型
最新推荐文章于 2022-12-25 12:57:13 发布