具有 Tuple 类型的通用打字稿

Typescript generic with Tuple type

我想要的很简单:如果第一个参数被确定为T.

,我想定义一个第二个参数为T[]的元组类型

我能做到。

type TandTArray<T> = [T, T[]]

但是,我必须指定每个 T

但我希望它由第一个参数自动确定。
我试过了但是没用

type TandTArray = <T>[T, T[]]

您需要一个用于推断泛型类型的函数:

const tandTArray = <T>(x: [T, T[]]) => x;

const foo = tandTArray([1, [1]])

Playground