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

【十月打卡】第58天 TypeScript(14)

标签:
Typescript

泛型

函数的泛型

单个泛型

function getVal<T>(val: T): T {
  return val;
}

getVal<number>(1);
getVal<string>('1');

多个泛型

function getVal<T, P>(first: T, second: P) {
  return `${first}${second}`;
}

getVal<string, number>('1', 2);

类的泛型

class Manager<T> {
  constructor(private data: T[]) {}

  getItem(index: number): T {
    return this.data[index]
  }
}

const data = new Manager<number>([1])
const data1 = new Manager<string>(['a'])

泛型约束
泛型通过extends实现泛型约束

interface Person {
  name: string;
}

class Manager<T extends Person> {
  constructor(private data: T[]) {}

  getItem(index: number): string {
    return this.data[index].name;
  }
}

const data = new Manager([
  {
    name: 'tz',
  },
]);
点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消