Comment ajouter dynamiquement des propriétés à un objet en TypeScript (sans erreurs de type)
Bonjour à tous ! J'ai récemment commencé à apprendre TypeScript et j'ai rencontré un problème qui m'a beaucoup déconcerté. Je dois créer des objets dont les propriétés sont ajoutées dynamiquement au cours de l'exécution du programme.
Voici un exemple : je reçois des données d'une API au format JSON, mais la structure de la réponse peut changer. Je veux créer un objet vide puis le remplir avec des propriétés basées sur les données reçues. En JavaScript classique, cela se fait simplement :
```typescript
const data = {};
data.name = "John"; // fonctionne
data.age = 30; // fonctionne
```
Mais quand j'essaie de faire la même chose en TypeScript, le compilateur génère une erreur : "Property 'name' does not exist on type '{}'". TypeScript se plaint que l'objet `data` a le type `{}` et n'a pas ces propriétés.
J'ai essayé différentes options :
- Déclarer l'objet avec `const data: any = {}` — cela fonctionne, mais je perds tous les avantages du typage.
- Créer une interface avec des champs optionnels — mais je ne sais pas à l'avance quels champs seront ajoutés.
Dans la réalité,
No answers yet.
Connectez-vous pour laisser une réponse