我试图在TypeScript中“扩展”一个函数,但找不到正确的方法。
const fn1 = function () {
return {
extend(obj1: { [name: string]: Function }) {
return {
test1() {},
...obj1
}
}
}
}
const var1 = fn1().extend({ test2: function () {} });
var1.test1()
var1.test2() // Property 'test2' does not exist on type '{ test1(): void; }'. Did you mean 'test1'?
我能做些什么来让它工作呢?
1条答案
按热度按时间62o28rlo1#
向
extend
添加泛型类型就足够了。F
将存储传递给函数的对象的类型,编译器足够聪明,可以计算出正确的返回类型,所以我们不必提供。Playground