Typescript 是否允许对象值作为类型?

Typescript 是否允许对象值作为类型?,typescript,Typescript,我想知道是否可以键入一个只允许来自另一个对象的值的变量,例如,它与键“GOOD”一起工作,但是否可以只允许“GOOD”?我不是以英语为母语的人,所以很难通过文档找到它 export const testType = { GOOD: 'good', }; interface Test { a: keyof typeof testType; } const c: Test = { a: 'GOOD', // works a: 'good' // would like to mak

我想知道是否可以键入一个只允许来自另一个对象的值的变量,例如,它与键“GOOD”一起工作,但是否可以只允许“GOOD”?我不是以英语为母语的人,所以很难通过文档找到它

export const testType = {
  GOOD: 'good',
};

interface Test {
  a: keyof typeof testType;
}

const c: Test = {
  a: 'GOOD', // works
  a: 'good' // would like to make it work
};

您可以尝试使用查找类型:

type ValueOf=T[keyof T];

您可以尝试使用查找类型:

type ValueOf=T[keyof T];

你只是好奇还是有问题想用它解决?不,这纯粹是好奇:)你只是好奇还是有问题想用它解决?不,这纯粹是好奇:)
type ValueOf<T> = T[keyof T];