面试官:说说你对 TypeScript 中泛型的理解?应用场景?
一、是什么
泛型程序设计(generic programming)是程序设计语言的一种风格或范式
泛型允许我们在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化
时作为参数指明这些类型
在typescript中,定义函数,接口或者类的时候,不预先定义好具体的类型,而在使用
的时候在指定类型的一种特性
假设我们用一个函数,它可接受一个 number 参数并返回一个number 参数,如下写法:
function returnItem (para: number): number {
return para
}
如果我们打算接受一个 string 类型,然后再返回 string类型,则如下写法:
function returnItem (para: string): string {
return para
}
上述两种编写方式,存在一个最明显的问题在于,代码重复度比较高
虽然可以使用
any类型去替代,但这也并不是很好的方案,因为我们的目的是接收什么类型的参数返回
什么类型的参数,即在运行时传入参数我们才能确定类型
这种情况就可以使用泛型,如下所示: