【发布时间】:2019-05-20 12:12:00
【问题描述】:
确实遇到了让我困惑的情况。以下是代码的摘录:
type TInputs<A> = A[] | Iterable<A> | Record<string, A>
type TTest = <A, Src extends TInputs<A>>(src: Src) => (x: A) => A
declare const arr: number[]
declare const t: TTest
t (arr) // infered as const t: <{}, number[]>(src: number[]) => (x: {}) => {}
// expected const t: <number, number[]>(src: number[]) => (x: number) => number
我不明白为什么A 没有保存?在这种情况下,有什么理由推断为{}?
除了了解如何通过该问题之外?
提前感谢您的任何回答
赛博
【问题讨论】:
标签: typescript generics typescript-typings