打字稿我想要一个类型,它是一个卑鄙属性中所有类型的联合

Typescript I want a type which is the union of all types in an abject properties

我有这个object

{
    "obj1" : type1;
    "obj2" : type2;
    "obj3" : type3;
    "obj4" : type4;
    "obj5" : type5;
}

我想得到如下类型。

type MyType = type1 | type2 | type3 | type4 | type5;

我觉得这个问题的标题听起来不太好,如果你能建议一个问题的标题,我也将不胜感激。

你可以这样做:

interface A {
  obj1: number;
  obj2: string;
  obj3: boolean;
}

type MyType = A[keyof A];

keyof A 提取密钥的地方,您会得到 "obj1" | "obj2" | "obj3"。 然后你可以用它来索引你的记录类型 A[k].