【发布时间】:2023-03-15 13:14:01
【问题描述】:
这段代码
declare function fn<T, U>(array: T[], predicates: ((arg: T) => U)[]): [T, U];
let a = fn([1, 2, 3], [x => 2, x => 's']);
导致此错误:
类型参数“U”的类型参数不能从 用法。考虑明确指定类型参数。类型 参数候选“数字”不是有效的类型参数,因为它是 不是候选“字符串”的超类型。函数 fn(数组:T[], 谓词:((arg: T) => U)[]): [T, U]
为什么不能简单地将U 推断为这里有string | number 类型?
【问题讨论】:
标签: typescript typescript-generics