В следующем коде переменная x имеет свойства a и z, но я хочу, чтобы она имела a и b. Как я могу express, что в машинописи?
x
a
z
b
const enum CE { a = "a", b = "z", } declare var x: Record<CE, any> // has 'a' and 'z'
Enum сам по себе является переменной, поэтому вы можете запросить его тип с помощью typeof CE, а затем получить ключи с помощью keyof:
typeof CE
keyof
declare var x: Record<keyof typeof CE, any> // Record<"a" | "b", any>
Playground