Avatar ·

如何在TypeScript中获取枚举值的名称(键)?

你好!我是TypeScript新手,在处理枚举时遇到了一个问题。假设我有这样一个枚举: ```typescript enum Color { Red = 1, Green = 2, Blue = 4 } ``` 我想动态获取这个枚举的所有名称(键)列表,即字符串数组:`["Red", "Green", "Blue"]`。我尝试使用 `Object.keys(Color)`,但结果并不是我期望的。控制台出现了数字:`["1", "2", "4", "Red", "Green", "Blue"]`。为什么会这样?这是TypeScript的bug吗? 我确实需要获取名称,例如在UI的下拉列表中显示它们,或者用于验证用户输入的值。如何正确做到这一点?是否有内置函数,还是需要自己编写?希望能得到详细的解释和示例。 另外,我也想知道数字枚举和字符串枚举是否有区别?提前感谢! <<>>

为什么Object.keys()返回数字?

这不是