Cómo garantizar que los valores de mi enum en JavaScript no cambien
¡Hola a todos! Escribo en JavaScript y me encontré con un problema: creo un objeto que uso como enum para los estados de un pedido. Por ejemplo:
```javascript
const OrderStatus = {
PENDING: 'pending',
SHIPPED: 'shipped',
DELIVERED: 'delivered',
CANCELLED: 'cancelled'
};
```
Pero noté que otros desarrolladores en el equipo o incluso yo mismo accidentalmente podemos cambiar el valor de este objeto durante la ejecución del programa. Por ejemplo, alguien escribirá `OrderStatus.PENDING = 'new_pending'` y romperá toda la lógica. En TypeScript hay enum normales, pero escribimos en JS puro.
He probado usar `Object.freeze()`, pero no estoy seguro de que sea una protección 100% contra cambios. ¿Quizás haya una forma más confiable de hacer que las constantes del enum sean inmutables? ¿Cómo organizar correctamente un enum en JavaScript para que no se pueda cambiar ni accidental ni intencionalmente? Necesito una protección completa a nivel de código, de modo que si alguien intenta cambiar el valor, lance un error o simplemente lo ignore.