Como obter os nomes (chaves) dos valores de uma enumeração (enum) em TypeScript?
Olá! Sou novo em TypeScript e enfrentei um problema ao trabalhar com enumerações (enums). Suponha que eu tenha o seguinte enum:
```typescript
enum Color {
Red = 1,
Green = 2,
Blue = 4
}
```
Quero obter dinamicamente a lista de todos os nomes (chaves) dessa enumeração, ou seja, um array de strings: `["Red", "Green", "Blue"]`. Tentei usar `Object.keys(Color)`, mas o resultado não é o que espero. No console aparecem também números: `["1", "2", "4", "Red", "Green", "Blue"]`. Por que isso acontece? É um bug do TypeScript?
Preciso obter os nomes para, por exemplo, exibi-los em um menu suspenso na interface do usuário ou para validação de valores inseridos pelo usuário. Como fazer isso corretamente? Existe uma função embutida ou preciso criar a minha própria? Agradeço por uma explicação detalhada com exemplos.
Também tenho interesse em saber como lidar com enumerações numéricas e de strings — há diferença na abordagem? Desde já, obrigado!
<<>>
Por que Object.keys() retorna números?
Isso não é