【发布时间】:2019-04-20 18:02:13
【问题描述】:
TypeScript 给我一个通用元组休息元素的错误
type Tuple<Value extends any[]> = [...Value];
错误:
$ tsc
src/index.ts:1:36 - error TS2574: A rest element type must be an array type.
1 type Tuple<Value extends any[]> = [...Value];
我在这里错过了什么?
- 打字稿版本:
typescript@3.1.6
type Tuple<HEAD, TAIL extends any[]> = [HEAD, ...TAIL];
没用,虽然这样可行:
type Tuple<Value extends any[]> = [...any[]];
【问题讨论】:
-
你想在这里完成什么?
[...Value]与Value有何不同? -
我试图制作一个 Head 和 Tail 泛型类型,但它们都不工作,所以这应该工作才能让其余的工作,我会更新我想要的完成
-
您不能在类型上使用扩展运算符。
-
为什么?,它在这里工作
function tuple<T extends any[]>(...arg: T) {} -
@DenisFrezzato 类型
[string, ...number[]]有效。
标签: typescript variadic-tuple-types