type Tuple = [];
const tup: Tuple = [
((a, b) = {
// a: number; tup 2th item
// b: boolean; tup 3th item
}),
1,
false,
// more item enble.
];
第一项是函数,其余参数类型均为tulpe。
我尝试定义Tuple,但是代码错误“类型别名'Tuple'循环引用自身“。
type Tuple = [(...args: any) => void, ...Parameters<Tuple[0]>];
2条答案
按热度按时间5ssjco0h1#
通常不可能编写其中一部分与另一部分相关的类型(除了预定义的联合和指定显式泛型类型)。您需要创建一个能够推断参数类型的泛型函数。
函数后面的元组中的元素将被推断为
T
。然后我们可以使用T
来输入函数的参数。Playground
vawmfj5a2#
请分别定义它们。