我想问一下为什么编译器不让我使用回调函数,forEach
尽管据我所知"a" | "b" | "c" | "d"
是string
. 请查看代码块后的错误消息。Record
我想我可以用一种类型来解决这个问题,对吗?谢谢!
const obj = { a: 10, b: 20, c: 30, d: 40 }
type O = typeof obj
Object.keys(obj).forEach((value: keyof O) => {
console.log(value)
})
错误 TS2345:类型参数 '(value: "a" | "b" | "c" | "d") => void' 不可分配给类型参数 '(value: string, index: number, array: string []) => 无效'。
参数 'value' 和 'value' 的类型不兼容。
类型 'string' 不可分配给类型 '"a" | "b" | "c" | “d”'。