打字稿的灵活数组类型

时间:2017-05-23 11:19:16

标签: arrays typescript types

假设我想编码一个数组,该数组的长度为1或2,可用于打字稿。假设我还希望将数组中的第一个元素限制为特定数量的字符串之一,例如:

theMenuOfTheCujons.getMenu().getItem(0).setVisible(false); supportInvalidateOptionsMenu();

而第二把钥匙很灵活。

类似的东西:

type fruit = 'banana' | 'apple' | 'passionfruit' | 'kiwi'

但是对于一个数组。我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

这将是:

type ObjectExample = [fruit] | [fruit, any];

但是,这不会阻止您分配或访问阵列上的第三个元素。来自TS文档:

  

当访问已知索引集之外的元素时,将使用联合类型:

从这个意义上说,除非你想约束第二个元素的类型,否则上面的内容相当于

type ObjectExample = [fruit];