小编tib*_*ibi的帖子

我应该如何在打字稿中进行枚举比较

我有一个 jhipster 项目,他们只是从中偶然得到了枚举:

export enum DeclarationStatus {
  NEW = 'NEW',
  DRAFT = 'DRAFT',
  APPROVED_BY_FREELANCER = 'APPROVED_BY_FREELANCER',
  APPROVED_BY_CLIENT = 'APPROVED_BY_CLIENT',
  APPROVED = 'APPROVED'
}
Run Code Online (Sandbox Code Playgroud)

对此:

export enum DeclarationStatus {
  NEW,
  DRAFT,
  APPROVED_BY_FREELANCER,
  APPROVED_BY_CLIENT,
  APPROVED
}
Run Code Online (Sandbox Code Playgroud)

首先我可以做这样的比较:

status === DeclarationStatus.APPROVED_BY_FREELANCER;
Run Code Online (Sandbox Code Playgroud)

但现在这不再起作用了,因为枚举实际上是一个数字。这确实有效:

DeclarationStatus[''+status] === DeclarationStatus.APPROVED_BY_FREELANCER;
Run Code Online (Sandbox Code Playgroud)

所以我的问题是哪个更好。或者还有第三种选择吗?


我设置这个问题来回答。Jhipster 社区将更改恢复为已初始化。那么比较又很容易了。

感谢@vicpermir 使这一切成为现实。

enums typescript jhipster

3
推荐指数
1
解决办法
7265
查看次数

标签 统计

enums ×1

jhipster ×1

typescript ×1