У меня есть проект jhipster, и они только что выполнили перечисление из этого:
export enum DeclarationStatus {
NEW = 'NEW',
DRAFT = 'DRAFT',
APPROVED_BY_FREELANCER = 'APPROVED_BY_FREELANCER',
APPROVED_BY_CLIENT = 'APPROVED_BY_CLIENT',
APPROVED = 'APPROVED'
}
к этому:
export enum DeclarationStatus {
NEW,
DRAFT,
APPROVED_BY_FREELANCER,
APPROVED_BY_CLIENT,
APPROVED
}
Сначала я мог бы сделать сравнение следующим образом:
status === DeclarationStatus.APPROVED_BY_FREELANCER;
Но теперь это больше не работает, потому что enum - это на самом деле число. Это работает как всегда:
DeclarationStatus[''+status] === DeclarationStatus.APPROVED_BY_FREELANCER;
Так что мой вопрос, который лучше. Или есть даже 3-й вариант?
Я задаю этот вопрос с ответом. Сообщество Jhipster вернуло изменение в инициализированное. Так что сравнение снова легко.
Спасибо @vicpermir, который сделал это возможным.