Javascript 在不使用映射的情况下按关键字映射Typescript枚举?

Javascript 在不使用映射的情况下按关键字映射Typescript枚举?,javascript,typescript,enums,Javascript,Typescript,Enums,具有以下枚举实例: export enum TopicCategories { GUIDES = 'Guides', TASKS = 'Tasks', CONCEPTS = 'Concepts', FORMULAS = 'Formulas', BLOGS = 'Blogs' } export enum TopicTypes { GUIDES = 'guide', TASK = 'task', CONCEPT = 'concept'

具有以下枚举实例:

export enum TopicCategories {
    GUIDES = 'Guides',
    TASKS = 'Tasks',
    CONCEPTS = 'Concepts',
    FORMULAS = 'Formulas',
    BLOGS = 'Blogs'
}

export enum TopicTypes {
    GUIDES = 'guide',
    TASK = 'task',
    CONCEPT = 'concept',
    FORMULA = 'formula',
    BLOG = 'blog'
}

export const topicCategoryToTopicTypeMap:Map<TopicCategories, TopicTypes> = new Map();

topicCategoryToTopicTypeMap.set(TopicCategories.BLOGS, TopicTypes.BLOG);

导出枚举主题类别{
GUIDES='GUIDES',
任务='TASKS',
概念='概念',
公式='公式',
BLOGS='BLOGS'
}
导出枚举主题类型{
指南='guide',
任务='TASK',
概念='概念',
公式='公式',
BLOG='BLOG'
}
导出常量TopicCategoryTopicTypeMap:Map=new Map();
TopicCategorityTopicTypeMap.set(TopicCategories.BLOGS,TopicTypes.BLOG);
TopicCategory topictypemap:Map
实例将允许我使用
TopicCategory.BLOG
作为键值来获取
TopicType.BLOG

是否有办法仅使用
Enum
实例直接执行此操作。换句话说,是否可以消除
Map
实例并直接执行映射

  const categoryToTopic = { "Guides" : "guide", /*...*/ };

  type TopicCategories = keyof typeof categoryToTopic;
  type TopicTypes = (typeof categoryToTopic)[TopicCategories];
不完全是。枚举只适用于原语,因此不能直接在枚举上存储更多数据