我有一个带有下一个类型定义的Typescript代码:
export type MeasurementContext = 'height' | 'speed' | 'temperature';
我想在执行时从对服务器的配置请求中获取该测量列表,而不是从const值中获取,但是我无法使其正常工作。
我尝试使用类似这样的东西:
let list = getConfigMeasurements() as const // returns ['height' | 'speed' | 'temperature']
type NeededUnionType = typeof list[number]; // 'height'|'speed'|'temperature';
但是它返回数字是一种类型,但是像变量一样使用。
答案 0 :(得分:1)
“我想在执行时从配置请求向服务器导出该测量列表。”
Typescript类型在运行时不存在,它们在程序编译的第二秒就被删除;有一些方法可以利用基于typescript-transformer API的类型来生成代码....在这种情况下,我会说它不属于惯用的typescript,因此应避免使用。
https://github.com/Microsoft/TypeScript/wiki/FAQ#what-is-type-erasure