【发布时间】:2021-03-19 19:13:05
【问题描述】:
是否可以像我对对象所做的那样提取类型的“键”并保存使用它们(存储在变量中、映射等)?
考虑对象变体:
const obj = { 0: 'a', 1: 'b', 2: 'c' };
const objWithKeys = Object.keys(obj);
console.log(objWithKeys); // console output: ['0', '1', '2']
我可以以某种方式对一个类型执行相同的操作,然后将这些键用于下拉菜单之类的东西吗?
type scheme = "dhcp" | "static";
const schemeItems = Object.keys(scheme);
const console.log(schemeItems); // would like to have ["dhcp","static"]
这是否可能以某种方式获得所需的结果,如果不能,您应该怎么做?
【问题讨论】:
-
你只能从一个值中派生出一个类型,而不是反过来:
const SCHEME = ["dhcp", "static"] as const; type Scheme = typeof SCHEME[number] -
@AlekseyL。对我来说似乎是对的,但您能解释一下为什么将 [number] 添加到 typeof SCHEME 作业中吗?
-
[number]用于查询元组的项目类型(获取所有值的并集)
标签: typescript