【发布时间】:2020-09-07 08:04:49
【问题描述】:
这是现场演示:https://codesandbox.io/s/vigorous-rgb-u860z?file=/src/index.ts
enum Keys {
One = "one",
Two = "two"
}
const a = Object.values(Keys).map((value, index) => ({
label: value,
id: String(index)
})) as const;
这是错误信息
“const”断言只能应用于对枚举的引用 成员,或字符串、数字、布尔值、数组或对象字面量。
我不确定我在这里缺少什么,因为Object.values 确实返回了一个数组。为什么我不能对它进行 const 断言
【问题讨论】:
-
它应该读作/被读作:“.. array [literal], or object literal。”
-
这里的“literal”限定符指的是字符串、数字、数组和对象。
-
你可以做
.map(... as const),这将导致一个隐含的const a:{ readonly label: Keys; readonly id: string; }[]
标签: javascript typescript