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 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦