TS中使用Object.values,传入enum类型
enum TestEnum {
aaa = {name: 111},
bbb = {name: 222},
ccc = {name: 333},
}
console.log(Object.values(TestEnum));
得到的打印是
[
{
"name": 111
},
"ccc",
{
"name": 222
},
{
"name": 333
}
]
为什么会多出一个'ccc'
的编译结果是
TestEnum
的值会是因为
TestEnum["aaa"] = { name: 111 }
/TestEnum["bbb"] = { name: 222 }
/TestEnum["ccc"] = { name: 333 }
的结果都是一个object
,做对象key时会被转成[object Object]
,然后被覆盖,最终值为ccc
。https://www.typescriptlang.or...