【发布时间】:2020-03-16 18:57:41
【问题描述】:
考虑以下
type MergeFn = <K1 extends string, V1, K2 extends string, V2>(
k1: K1, v1: V1,
k2: K2, v2: V2
) => ???
let mergeFn: MergeFn // implementation not relevant to question
??? 需要填写什么,以便
mergeFn(
"hello", 1,
"typescript", 2
)
类型为{ hello: number, typescript: number }。
我试过了
??? = { [k in K1]: V1 } & { [k in K2]: V2 }
但结果会是
{ hello: number } & { typescript: number }.
(按照提议的here 应用type Id<T> = { [k in keyof T]: T[k] } 也无济于事。)
【问题讨论】:
标签: typescript generics typescript-typings