泛型(Generic)
定义一个函数或类时,有些情况下无法确定其中要使用的具体类型(返回值、参数、属性的类型不能确定),此时泛型便能够发挥作用。
示例:
/* * 在定义函数或是类时,如果遇到类型不明确就可以使用泛型 * * */ function fn<T>(a: T): T{ return a; } // 可以直接调用具有泛型的函数 let result = fn(10); // 不指定泛型,TS可以自动对类型进行推断 let result2 = fn<string>('hello'); // 指定泛型泛型可以同时指定多个
示例:
function fn2<T, K>(a: T, b: K):T{ console.log(b); return a; } fn2<number, string>(123, 'hello');
类中同样可以使用泛型
示例:
class MyClass<T>{ name: T; constructor(name: T) { this.name = name; } } const mc = new MyClass<string>('孙悟空');
对泛型的范围进行约束
// T extends Inter 表示泛型T必须时Inter实现类(子类) function fn3<T extends Inter>(a: T): number{ return a.length; }
标签:function,TypeScript,return,name,示例,泛型,fn From: https://www.cnblogs.com/anjingdian/p/16929672.html