【发布时间】:2020-03-30 04:56:43
【问题描述】:
让我们声明一个具有调用签名的类型T:
type T = () => number;
让我们也声明一个这种类型的变量t:
declare const t: T;
在 TypeScript Playground 或 IDE 中,我们立即看到 t 类型为 T,具有大量我们从未明确声明过的方法和属性:apply、bind、@987654329 @,等等。
我们如何声明T,使其仅由其调用签名定义? (TS 3.8.3+)
值得注意的是,Omit<T, "apply" | "bind" | "caller"> 的类型是 {},Omit<T, ""> 也是如此。此外,根据tsc,Omit<CallableFunction, ""> 不是可调用类型。
【问题讨论】:
标签: typescript types