繁体   English   中英

如何在 typescript 中分配通用条件推断类型的值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM