问题描述
TypeScript 中用括号代替键的对象是什么意思?
例如这里
foo(success: { (): void; (): void; }) {}
我不明白 success
参数代表什么。
解决方法
{ (): void; (): void; }
只是一个 callable type。第二个 (): void
是 function overload。虽然在这种情况下它什么都不做。用不那么神奇的方式可以写成:
interface Success {
(): void
(): void
}
function foo(success: Success) {}
这基本上相当于 foo(success: () => void) {}
。