【发布时间】:2021-06-28 20:18:07
【问题描述】:
我正在构建一个需要一次更新对象的一个字段的函数。
这个对象是通过一个接口T定义的。
interface T {
a: TypeA;
b: TypeB;
c: TypeC;
}
这应该是这个函数的类型签名:
(key: keyof T, value: typeof T[key]) => void
这会产生错误:'key' refers to a value, but it is being used as a type here. Did you mean 'typeof key'?。 IMO 我不是说typeof key,因为typeof key 将是T 的任何键,但我希望value 属性的类型为TypeA,如果key = a 等。
如何选择T对应键值的类型?
【问题讨论】:
标签: javascript typescript strong-typing