interface Test {
imgNumberPerWork: number
displayCover: boolean
}
const test: Test = {
imgNumberPerWork: 0,
displayCover: true
}
function setValue (key: keyof Test, val: any) {
test[key] = val
}
setValue('imgNumberPerWork', 1)
函数 setValue
里的 test[key]
报错了,不能将类型“any”分配给类型“never”
。请问如何理解这里呢?
因为
interface Test
有两种类型的值,所以函数setValue
的参数val有可能是number
或者boolean
,那么此时无法判断key和value的类型是否匹配。