TypeScript:泛型
- 一、单个泛型
- 二、多个泛型:泛型可以同时指定多
- 三、接口加泛型
在定义函数或者类型时,如果类型不确定就可以使用 泛型。
一、单个泛型
//T 表示任意类型,具体只有在函数执行时才可以确定。
function fn<T>(a:T):T{return T;
}// 可以直接调用具有泛型的函数
let result1=fn(a:10);// 此时T表示number,ts类型推断
let result2=fn<string>(a:'Hello');// 此时手动指定泛型T表示string
二、多个泛型:泛型可以同时指定多
function fn2<T,K>(a:T,b:K):T{return a;
}
fn2(a:123,b:'hello');//测试T表示number,K表示string
三、接口加泛型
interface Inter{length:number;
}
// T extends Inter 表示泛型T必须时Inter实现类(子类)
function fn3<T extends Inter>(a:T):number{return a.length
}
fn3(a:'123');//字符串有length属性,长度为3// 在类中使用泛型
class MyClass<T>{name:T,constructor(name:T){this.name=name;}
}
const mc=new MyClass<string>(name:'张三~');// 手动指定泛型T表示string