打字稿手册通用类型问题

时间:2020-10-10 15:19:03

标签: typescript

嗨,我正在关注https://www.typescriptlang.org/docs/handbook/generics.html,并看到了以下功能

下面是解释:

您可以将loggingIdentity的类型读取为“通用函数loggingIdentity接受类型参数T,并使用参数arg(它是Ts的数组)并返回Ts的数组。”如果我们传入一个数字数组,则会得到一个数字数组,因为T会绑定到数字。这样,我们就可以将通用类型变量T用作我们正在使用的类型的一部分,而不是整个类型,从而为我们提供了更大的灵活性。

我试图了解为什么需要在函数中声明function loggingIdentity<T>(arg: T[]): T[] { console.log(arg.length); return arg; } 。我知道该函数现在需要一个通用类型的数组,并且还返回具有该通用类型的值。为什么我们不能只删除冗余并声明如下:

<T>

1 个答案:

答案 0 :(得分:2)

通过在函数中使用<T>,您声明T是通用参数。如果不这样做,Typescript将不知道Targ: T[]中的含义。它只会认为您拼写了一个类型名称。