CaptainOfPhB

TypeScript 枚举转为中文显示

· 152 words · 1 min

一般枚举我们用英文与数字/字符串对应,但显示的时候通常又要显示为中文,这种该怎么写好呢?我一般有两种做法。

再定义一个枚举

enum Status {
  Close = 0,
  Open = 1,
}

enum StatusName {
  Close = '关闭',
  Open = '开启',
}

用的时候直接取 StatusName.Close 即可。

再定义一个 Mapping

enum Status {
  Close = 0,
  Open = 1,
}

const StatusName = {
  [Status.Close]: '关闭',
  [Status.Open]: '开启',
} satisfies Record<Status, string>;

用的时候直接取 StatusName[Status.Close] 即可。

这是知乎上的一个问题,点击此处查看我在知乎上的回答。

知乎
TypeScript