【发布时间】:2019-07-27 22:43:12
【问题描述】:
我经常使用诸如
之类的代码export type Stuff = 'something' | 'else'
export const AVAILABLE_STUFF: Stuff[] = ['something', 'else']
这样我既可以使用类型Stuff,也可以在需要时遍历所有可用的东西。
这行得通,但感觉就像重复了两次信息。而且您必须小心,因为更新 Stuff 或 AVAILABLE_STUFF 也需要更新其对应项。
有没有更好的方法来定义数组的类型,或者甚至在某种程度上使用数组来输入一些数据?
【问题讨论】:
-
你想用类型填充数组还是这样使用数组的用例到底是什么?
-
@MuratKaragöz 有点像。我希望只需一份声明就能从
const x: Stuff和AVAILABLE_STUFF.forEach(stuff => ...)的好处中获益。我不在乎我是否必须声明一个数组、一个类型或其他我还不知道的东西:) -
你考虑过使用字符串enum吗?看起来它应该做你想做的事。它是一种类型,您可以迭代值。
标签: typescript typescript-typings