具有函数值的对象文字中的泛型类型推断

时间:2019-12-26 16:01:02

标签: typescript typescript-generics

请考虑以下示例代码:

open

如果interface EntrySettings<T> { create: (index: number) => T; evaluate: (entry: T) => number; } function createEntry<T>(settings: EntrySettings<T>): T { return settings.create(0); } // return type is "string" createEntry({ create: () => "foobar", evaluate: entry => entry.length, }); // return type is "unknown" createEntry({ create: i => "foobar", evaluate: entry => entry.length, }); 方法不使用其参数,则返回类型有效,但是当它使用时,TypeScript似乎不知道从何处推断create类型。

字段顺序似乎对此行为没有任何影响。

有什么方法可以正确地以当前形式实现? (未明确指定T或函数的自变量)

0 个答案:

没有答案