[英]How to assign value of generic conditional infer type in typescript?
我尝试使这些条件推断类型起作用:
type A<T> = T extends { a: infer U } ? U : never
type B<T> = T extends { a: infer U } ? U : never
class Test<K extends { a: string }> {
constructor(props: string) {
// Error: string is not assignable to A<K>
let a: A<K> = props
// Error
let b: B<K> = props
// Error: B<K> is not assignable to A<K>
a = b
}
}
A<K>
和B<K>
具有相同的定义,但不能相互分配。 我无法理解A<K>
和B<K>
在编译时都应该是字符串类型,但不能接受string
值。
有什么办法让它工作吗?
正如@jcalz 所说,TS3.7 修复了它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.