有没有办法让它成为从不同类型的元组作为拼接函数导入的数组的类型推断?

问题描述 投票:0回答:1

例如,假设有下面的代码。

type MyType = 'a' | 'b' | 'c';

const a = [3, 5, 'a', 'b'] as const;

const func = (arg: readonly [number, number, ...MyType[]]) => {
    const myTypeArr = arg.slice(2); // i want this type "MyType[]" !!!
};

func(a);

我希望“myTypeArr”变量被推断为MyType[]。

然而,实际上被推断为 (number | MyType)[]。

我进行了搜索来实现它,但我做不到。

typescript tuples type-inference
1个回答
0
投票

可以使用解构来实现这一点:

type MyType = 'a' | 'b' | 'c';

const a = [3, 5, 'a', 'b'] as const;

const func = (arg: readonly [number, number, ...MyType[]]) => {
    const [ , , ...myTypeArr] = arg;
};

func(a);
© www.soinside.com 2019 - 2024. All rights reserved.