Comment convertir une chaîne en enum en TypeScript ?
Bonjour à tous ! Je viens de commencer à apprendre TypeScript et j'ai rencontré un problème en travaillant avec les énumérations (enum). J'ai un enum décrivant les statuts de commande :
```typescript
enum OrderStatus {
Pending = 'pending',
Processing = 'processing',
Shipped = 'shipped',
Delivered = 'delivered',
Cancelled = 'cancelled'
}
```
Je reçois une chaîne de l'API (par exemple, d'une réponse JSON du serveur) qui contient la valeur du statut, par exemple `'shipped'`. Je dois convertir cette chaîne en type `OrderStatus` pour l'utiliser dans un switch-case ou la passer à une fonction qui attend cet enum.
Le problème est qu'une simple affectation ne fonctionne pas :
```typescript
const statusFromApi: string = 'shipped';
const orderStatus: OrderStatus = statusFromApi; // Erreur : Type 'string' is not assignable to type 'OrderStatus'
```
J'ai essayé d'utiliser le type casting (`as OrderStatus`), mais cela semble dangereux — si une chaîne qui n'est pas dans l'enum arrive, aucune erreur ne se produira, mais le comportement
No answers yet.
Connectez-vous pour laisser une réponse
Blogs