使用const枚举键(不是值)作为接口属性

时间:2020-03-16 00:19:03

标签: typescript enums

在下面的代码中,变量x具有属性az,但是我希望它具有ab。我该如何在打字稿中表达这一点?

const enum CE {
    a = "a",
    b = "z",
}

declare var x: Record<CE, any> // has 'a' and 'z'

1 个答案:

答案 0 :(得分:1)

枚举本身就是变量,因此您可以使用typeof CE查询其类型,然后使用keyof获取其键:

declare var x: Record<keyof typeof CE, any> // Record<"a" | "b", any>

Playground