【发布时间】:2019-10-02 18:58:34
【问题描述】:
对不起标题,真的不知道这个问题适合什么名字。
我想创建一个 setItem 函数,它将对象中的键设置为值:
const setItem = <T, U extends keyof T>(obj: T) => (key: U, value): void => {
obj[key] = value
}
const person = {
name: 'James',
age: 13,
}
const setPerson = setItem(person)
setPerson('name', 125)
即使我们将 name 属性设置为数字,也不会出现编译时错误。 (因为现在的值是 typeof any)。
那我怎么能对 TS 说 obj[key] 作为 typeof 的值呢?
【问题讨论】:
标签: typescript typescript-typings typescript-generics