为了账号安全,请及时绑定邮箱和手机立即绑定

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 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消