我有一个 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 使这一切成为现实。