假设:
export enum EEnv { devint, qa1 };
export type TEnv = keyof typeof EEnv;
export const env:Record<TEnv, {something:number}> = {
devint: {
something: 1,
},
qa1: {
something: 1,
},
}
然后我要基于env
对象创建动态对象,如下所示:
export const SAVE_TOKEN: Record<TEnv, string> = {
devint: "SAVE_TOKEN/devint", // based on "env" key
qa1: "SAVE_TOKEN/qa1", // based on "env" key
}
有什么方法可以将字符串类型创建为 "SAVE_TOKEN/"+TEnv
而不是字符串。
答案 0 :(得分:3)
有一些受欢迎的公开提案/要求,包括Regex-validated string type: TypeScript#6579和TypeScript#12754和comment about this exact use case,但从3.5.1开始,答案为否。