gpt4 book ai didi

typescript - typescript 中的参数联合

转载 作者:搜寻专家 更新时间:2023-10-30 21:13:49 24 4
gpt4 key购买 nike

是否有一种通用的方法来参数化地指定联合?我正在寻找一种一般指定类似内容的方法:

type U<K> = T<K1> | T<K2> | ... | T<Kn> // Where K === (K1 | ... | Kn)

注意:我正在处理 T<U | V> !== T<U> | T<V> 的情况. (与 #14107#16644 相反

编辑:我在 K 时发现了以下模式是字符串文字的联合:

type U<K> = {[key in K]: T<key>}[K]

但如果我尝试将其用作函数参数,则不能很好地进行类型推断。

最佳答案

TypeScript 2.8 提供了另一种使用 conditional types 完成此分发的方法.发布公告中的示例:

type Foo<T> = T extends any ? T[] : never;

/**
* Foo distributes on 'string | number' to the type
*
* (string extends any ? string[] : never) |
* (number extends any ? number[] : never)
*
* which boils down to
*
* string[] | number[]
*/
type Bar = Foo<string | number>;

关于typescript - typescript 中的参数联合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47601285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com