繁体   English   中英

根据对象类型的字符串值创建字符串文字类型

[英]Create string literal type from object type's string values

我们目前正在使用TS 2.3(目前无法升级至2.4,因此无法使用枚举)。

我们有一个看起来像这样的对象类型

type myObject = {
  keyOn: 'valueOne';
  keyTwo: 'valueTwo';
  keyThree: 'valueThree;
}

理想情况下,我希望能够创建一个由字符串文字组成的类型,该字符串文字是该对象类型上的值。 所以像这样:

type valueLiterals = 'valueOne' | 'valueTwo' | 'valueThree'

类似于您将可以使用生成的密钥

type objectKeys = keyOf myObject

是否有一些版本valueof或类似,将允许自动生成的valueLiterals类型?

您可以对keyof T使用类型查询:

type values = myObject [keyof myObject]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM