Typescript 如何使用普通对象中的值创建类型?

Typescript 如何使用普通对象中的值创建类型?,typescript,Typescript,我有一个这样的物体: const myObject = { 0: 'FIRST', 10: 'SECOND', 20: 'THIRD', } type AwesomeType = 'FIRST' | 'SECOND' | 'THIRD'; 我想创建一个具有此对象值的类型,如下所示: const myObject = { 0: 'FIRST', 10: 'SECOND', 20: 'THIRD', } type AwesomeType = 'FIRST' | 'S

我有一个这样的物体:

const myObject = {
  0: 'FIRST',
  10: 'SECOND',
  20: 'THIRD',
}

type AwesomeType = 'FIRST' | 'SECOND' | 'THIRD';
我想创建一个具有此对象值的类型,如下所示:

const myObject = {
  0: 'FIRST',
  10: 'SECOND',
  20: 'THIRD',
}

type AwesomeType = 'FIRST' | 'SECOND' | 'THIRD';
如何做到这一点?

这样做


type AwesomeType = 'FIRST' | 'SECOND' | 'THIRD';
type MyType = Record<number, AwesomeType>

const myObject: MyType = {
  0: 'FIRST',
  10: 'SECOND',
  20: 'THIRD',
}



类型AwesomeType='FIRST'|'SECOND'|'THIRD';
类型MyType=记录
常量myObject:MyType={
0:'第一',
10:"第二",,
20:"第三",,
}
请参见此

以获取可使用的变量(对象)类型。要防止文字类型变宽,可以使用:

const myObject={
0:'第一',
10:"第二",,
20:"第三",,
}作为常量;
类型值=T[keyof T];
键入AwesomeType=值;//“第一”|“第二”|“第三”

太棒了
as const
解决了这个问题。我一直在努力理解为什么typescript只返回值类型而不返回字符串常量。谢谢你,伙计!在本例中,AwesomeType相当于
记录
。我想他想让某个类型的人成为
Record
。我在代码中添加了示例@subtopatnaik,no所需类型为
类型AwesomeType='FIRST'|'SECOND'|'THIRD'
。类型,它表示所有可能的对象值,而不是对象itself@AlekseyL. 你能举一个关于操场的例子吗?顺便说一句,我喜欢你的回答。