【发布时间】:2016-10-09 03:04:26
【问题描述】:
我正在寻找一个可以迭代的字符串枚举。
到目前为止我尝试了什么:
字符串联合类型:
type t = "p1" | "p2" | "p3"
问题:无法迭代
枚举:
enum t { p1, p2, p3 }
问题:不能有字符串枚举
对象:
const t = {p1: "p1", p2: "p2", p3: "p3"}
问题:不能强类型化应该是“p1”、“p2”或“p3”的变量
我可以使用对象和字符串联合类型或枚举和映射,但我最终会重复自己很多次。获取可以在打字稿中迭代的字符串枚举的正确方法是什么?
【问题讨论】:
-
这是javascript,它有字符串、数字、对象作为类型。它也不是静态类型语言。因此,您可能需要重新考虑您在此处尝试解决的问题,以及您是否需要强类型。
-
@CallumLinington 我也将它标记为打字稿。 Typescript 是 javascript 的类型化超集
-
嗯,这改变了一切......见here
-
您遇到了 Javascript 的限制,它没有用于键入或枚举的表示。请参阅 David Sherret 发布的链接,了解如何在 Javascript 中表示。
标签: javascript enums typescript iterable