Typescript 类型脚本我想要一个类型,它是一个对象属性中所有类型的并集
我有这个东西Typescript 类型脚本我想要一个类型,它是一个对象属性中所有类型的并集,typescript,typing,Typescript,Typing,我有这个东西 { "obj1" : type1; "obj2" : type2; "obj3" : type3; "obj4" : type4; "obj5" : type5; } 我想得到一个像下面这样的类型 type MyType = type1 | type2 | type3 | type4 | type5; 我认为这个问题的标题听起来不太好,如果
{
"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];
如果keyofA
提取密钥,则会得到“obj1”|“obj2”|“obj3”
。
然后您可以使用它来索引您的记录类型
A[k]
请不要从javascript对象生成类型,这不是TypeScript的意图。首先手动定义类型,然后用它们创建和键入一些javascript对象。我的目的是反射类型,而不是生成它们,仍然是同样糟糕的反射。他说的是对象
,而不是接口
。他有类型1
,类型2
,后面是分号。这可能是一个interface@johannchopin。如果它是一个对象,可以替换为typemytype=(typeof obj)[keyof typeof obj]