【发布时间】:2019-01-07 23:59:52
【问题描述】:
我正在尝试在 Typescript 中创建函数签名。它是一种调用函数,接收对象、方法名和要应用的参数。
使用示例:
const obj = {
do(...args) {
console.log(args);
}
}
call(obj, 'do', 1, 2, 3);
我可以想象一个简单的签名,它定义了第二个参数应该是 first 的属性,但是我很难禁止所有不是方法的属性并指定可变参数是此方法的参数。
function call<T, P extends keyof T, A extends any[]>(obj: T, property: P, ...args: A): void;
现在的 Typescript 可以做到吗?
【问题讨论】:
标签: typescript