【发布时间】:2017-12-09 14:42:47
【问题描述】:
我想指定数组其余部分的外观,但不知道数组有多少值。我怎样才能实现这样的目标? (游乐场版here):
type numStrArr = [number, ...string];
let arr: numStrArr = [1, 'hi', 'other string'];
然而,上面的代码在展开运算符处抛出了错误Type expected.。
我知道有一个proposal,但我现在如何实现类似的行为?
【问题讨论】:
-
你应该使用对象而不是数组。
-
我知道这会起作用,我只是对它如何起作用很感兴趣
-
我认为这是不可能的。您可以使用
[number, string]或{0: number, [i: number]: string | number},但它们都将额外的参数输入为number | string,而不是string。你能得到的最接近的可能是[number, string, string, string, string, string, string]。 -
玩了一下,我能想到的最好的方法是扩展 Array 的接口。游乐场链接太长。我真的看不出任何使用对象不能更好地处理的用例......
标签: typescript types tuples spread-syntax