假设我具有以下联合类型:
type Browser = 'Chrome' | 'Firefox'
我想用它创建一个数组:
const browsers = /* code to transform Browser type in ['Chrome', 'Firefox']
想法是在运行时使用它。有办法吗?我已经尝试过使用key of
,但是当然不起作用。
答案 0 :(得分:0)
听起来像您可能想使用enum:
enum Browser {
Chrome = 'Chrome',
Firefox = 'Firefox',
}
const browsers = Object.values(Browser);
答案 1 :(得分:0)
Typescript注释在运行时不存在,因此无法在运行时根据类型创建数组。
另一方面,如果打算只编写一次浏览器列表:
const browsers = ['Chrome', 'Firefox'] as const;
type Browser = typeof browsers[number] // "Chrome" | "Firefox"