【发布时间】:2018-08-24 09:13:41
【问题描述】:
我需要写一个这样的函数:
const wrapper = (fn) => () => {
const value = fn.apply (this, arguments)
const somethingElseEntirely: WellDefinedType = doMagic (value)
return somethingElseEntirely
}
...包装任何给定的功能。众所周知,给定函数返回一个定义明确的类型,比如string。众所周知,给定函数可以接受任何参数组合,并且被包装的函数应该采用相同的参数,然而,它应该返回不同类型的值。
例如,像这样的函数:
function foo (arg1: string, arg2?: number): string
...应该变成:
(arg1: string, arg2?: number): WellDefinedType
这是否可以在 TypeScript 中实现而不诉诸 any?
【问题讨论】:
标签: typescript