说,我有一个这样的功能:
function plus(a: number, b: number) { return a + b }
Run Code Online (Sandbox Code Playgroud)
当然,它的类型是(a: number, b: number) => numberTypescript 中的函数。
如果我想将此函数用作另一个函数的“参数”而不真正声明其类型,我可以使用默认参数技巧:
function wrap(fn = plus) { ... }
Run Code Online (Sandbox Code Playgroud)
如果我不希望它成为默认参数,除了明确声明它的类型之外,我还有其他选择吗?
简而言之,我不想要这个function wrap(fn: (a: number, b: number) => number) { ... },但我确实想要这样的东西function wrap(fn: like(plus)) { ... }。