TS16泛型

// function(a:any){
//         return a
// }
/* 
        定义函数或者类时,如果遇到类型不明确就可以使用泛型
*/
//泛型可以同时指定多个
function fn<T, K>(a: T, b: K): T {
        return a

}
//可以直接调用具有泛型的函数
fn(10, '1')//不指定泛型,ts可以自动对类型进行推断
fn<string, string>('sayhello', '2')//指定泛型

interface inter {
        length: number
}
//T extends inter表示泛型T必须是inter实现类
function fn3<T extends inter>(a: T) {
        return a.length
}
fn3(1)
fn3('123')

class myclas<T>{
        constructor(public name:T) {

        }

}
const mc = new myclas(312)
console.log(mc);

 

posted @ 2023-01-21 14:57  SadicZhou  阅读(15)  评论(0编辑  收藏  举报