泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。
function identity<T>(arg: T): T {
return arg;
}
我们给identity添加了类型变量T
。 T
帮助我们捕获用户传入的类型(比如:number
),之后我们就可以使用这个类型。 之后我们再次使用了T
当做返回值类型。现在我们可以知道参数类型与返回值类型是相同的了。 这允许我们跟踪函数里使用的类型的信息。
下一节:一个接口是一个TypeScript工件,它不是ECMAScript的一部分。 接口是一种用于相对于参数及其类型定义函数上的契约的方式。 除了函数,接口也可以与类一起使用以定义自定义类型。
接口是一个抽象类型,它不像类一样包含任何代码。 它仅定义API的“签名”或形状。 在代码转换期间,interface 不会生成任何代码,它仅在开发期间被Typescript用于类型检查。