继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

康遇
关注TA
已关注
手记 76
粉丝 3
获赞 9

泛型

函数的泛型

单个泛型

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',
  },
]);
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP