如何从打字稿中的对象键字符串中提取确切的联合类型?

时间:2019-05-14 08:25:14

标签: javascript typescript

我有一个像这样的物体

const MY_OBJECT = {
  'key': 'key val',
  'anotherKey': 'anotherKey val',
};

是否有一种方法可以从此对象'key' | 'anotherKey'中提取类型?

2 个答案:

答案 0 :(得分:2)

要获取作为变量的联合键的类型,您需要使用keyof typeof variableName

const MY_OBJECT = {
    'key': 'key val',
    'anotherKey': 'anotherKey val',
};
type MY_OBJECT_KEYS = keyof typeof MY_OBJECT // "key" | "anotherKey"

答案 1 :(得分:0)

要实现所需的功能,只需去除对象中的引号即可:

const MY_OBJECT = {
  key: 'key val',
  anotherKey: 'anotherKey val',
};
console.log(keyof MY_OBJECT); // "key" | "anotherKey"