如何定义一个具有任何签名但具有特定返回类型的函数的类型?

时间:2017-11-07 19:34:37

标签: typescript

我想创建一个需要成为一个函数的类型,当被调用时将始终返回一个具有属性type: string的对象,但我并不关心传递给该函数的参数。 / p>

例如:

foo(1, 'bar'); // returns { type: '', etc: 1 }
baz('bar', new Date()); // returns { type: '', xyz: 2 }
bar(); // returns { type: '', etc: 3, so: 10 }

所有这些都应该对这种类型有效,因为我不关心我用来调用函数的参数,我只关心它返回属性type: string时调用。

如何设置这样的类型?

1 个答案:

答案 0 :(得分:1)

试试这个:

type T = (...args: Array<any>) => {type: string};