Como garantir que os valores do meu enum em JavaScript não sejam alterados?
Olá a todos! Estou escrevendo em JavaScript e me deparei com um problema: estou criando um objeto que uso como enum para status de pedidos. Por exemplo:
```javascript
const OrderStatus = {
PENDING: 'pending',
SHIPPED: 'shipped',
DELIVERED: 'delivered',
CANCELLED: 'cancelled'
};
```
Mas notei que outros desenvolvedores na equipe, ou até eu mesmo, posso acidentalmente alterar o valor desse objeto durante a execução do programa. Por exemplo, alguém pode escrever `OrderStatus.PENDING = 'new_pending'` e quebrar toda a lógica. No TypeScript existem enums normais, mas estamos escrevendo em JS puro.
Tentei usar `Object.freeze()`, mas não tenho certeza se isso é 100% de proteção contra alterações. Talvez exista uma maneira mais confiável de tornar as constantes do enum imutáveis? Como organizar corretamente um enum em JavaScript para que não possa ser alterado nem acidentalmente nem intencionalmente? Preciso de uma proteção completa no nível do código, para que se alguém tentar alterar o valor, isso lance um erro ou simplesmente ignore.
No answers yet.
Faça login para deixar uma resposta