【发布时间】:2018-12-13 16:12:49
【问题描述】:
让我们假设一个简化的例子(我知道在这个特殊的简化中不需要重载,但它被简化了)
编辑:给出的第一个例子不足以理解这个问题,这里是一个更新的例子:
function fn <T>( // Overload signature is not compatible with function implementation.ts(2394)
fn: (item: T) => T,
): (idx: number) => (src: T[]) => T[]
function fn <T>(
fn: (item: T) => T,
idx: number,
): (src: T[]) => T[]
function fn(fn: (x: any) => any, idx?: number) {
}
在这种情况下,您将如何限定实现中的 Return 类型。
编译器在第一个定义上抱怨ts(2394),但我不明白我做错了什么。
提前谢谢你 赛博
【问题讨论】: