Avatar ·

Comment garantir que les valeurs de mon enum en JavaScript ne soient pas modifiées ?

Bonjour à tous ! J'écris en JavaScript et j'ai rencontré un problème : je crée un objet que j'utilise comme enum pour les statuts de commande. Par exemple : ```javascript const OrderStatus = { PENDING: 'pending', SHIPPED: 'shipped', DELIVERED: 'delivered', CANCELLED: 'cancelled' }; ``` Mais j'ai remarqué que d'autres développeurs dans l'équipe, ou même moi-même, pouvons accidentellement modifier la valeur de cet objet pendant l'exécution du programme. Par exemple, quelqu'un écrira `OrderStatus.PENDING = 'new_pending'` et cassera toute la logique. En TypeScript, il y a des enum normaux, mais nous écrivons en pur JS. J'ai essayé d'utiliser `Object.freeze()`, mais je ne suis pas sûr que ce soit une protection à 100 % contre les modifications. Peut-être existe-t-il un moyen plus fiable de rendre les constantes d'énumération immuables ? Comment organiser correctement un enum en JavaScript pour qu'il ne puisse pas être modifié, ni accidentellement ni intentionnellement ? J'ai besoin d'une protection complète au niveau du code, de sorte que si quelqu'un essaie de modifier la valeur, cela génère une erreur ou soit simplement ignoré.