TypeScript学习之泛型
标签:
JavaScript
一、基本使用
function show<T>(arg: T):T{ return arg; } let out = show<string>('xxxx'); let out = show('xxxx');//利用了类型推论//泛型变量function show<T>(arg: T[]):T{ console.log(arg.length); return arg; }function show<T>(arg: Array<T>):Array<T>{ console.log(arg.length); return arg; }//泛型类型function show<T>(arg: T):T{ return arg; } let myShow: <T>(arg: T) => T = show;//使用不同的泛型参数名let myShow: <U>(arg: U) => U = show;//使用带有调用签名的对象字面量let myShow: {<T>(arg:T) :T} = show;//泛型类class Person<T>{ value:T; } let p = new Person<number>;
二、泛型约束
interface Lengthwise { length: number; }function show<T extends Lengthwise>(arg: T):T{ console.log(arg.length); return arg; }//在泛型约束中使用类型参数function getProperty (obj: T, key: K){ return obj[key]; } let x = {a:1,b2}; getProperty(x,"a");//在泛型里使用类类型function create<T>(c: {new(): T; }): T { return new c(); }
作者:大富_大贵
链接:https://www.jianshu.com/p/cb24259e25f5
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦