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

2022/10/4 4:17:44

本文主要是介绍【十月打卡】第58天 TypeScript(14),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

泛型

函数的泛型

单个泛型

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',
  },
]);


这篇关于【十月打卡】第58天 TypeScript(14)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程