【发布时间】:2019-04-18 22:13:41
【问题描述】:
所以我有一个泛型对象数组并想迭代但打字稿不允许我。这是一些示例代码。有关如何解决此问题的任何建议。
type someGeneric<T> = { item: T };
type stringGeneric = someGeneric<string>;
type numberGeneric = someGeneric<number>;
type someFunction = <T>(generic: someGeneric<T>) => T;
const someFunction: someFunction = (generic) => generic.item;
const stringGeneric: stringGeneric = { item: 'some String' },
numberGeneric: numberGeneric = { item: 12 };
let genericArray = [stringGeneric, numberGeneric];
genericArray.forEach(generic => {
someFunction(generic); // Error On This line.
});
您可以将代码复制粘贴到this link。我似乎无法分享代码。
【问题讨论】:
-
“此行出错” 错误是什么?
-
@MTCoster 错误(无论如何重要的部分)是
Argument of type 'someGeneric<string> | someGeneric<number>' is not assignable to parameter of type 'someGeneric<string>'. -
离题,但我可以建议始终使用 TitleCase 作为类型名称。例如一些通用
。这符合 TS 社区和 TS 团队的代码。
标签: typescript typescript-typings typescript-generics