Comment déclarer un objet vide avec un type en TypeScript sans erreurs de compilation ?
Bonjour ! J'ai récemment commencé à apprendre TypeScript et j'ai rencontré un problème. Je dois déclarer une variable avec un type spécifique, mais l'initialiser avec un objet vide. Voici un exemple :
```typescript
interface User {
name: string;
age: number;
email: string;
}
const user: User = {}; // Erreur : Type '{}' is not assignable to type 'User'
```
Le compilateur se plaint que l'objet vide ne correspond pas à l'interface User. Je comprends que l'objet vide n'a pas les champs obligatoires name, age et email. Mais j'ai besoin que la variable soit typée, et je remplirai les données plus tard, par exemple après une requête à une API ou pendant le travail d'un formulaire.
J'ai essayé les options suivantes :
- `const user = {} as User;` — ça marche, mais j'ai entendu dire que ce n'est pas sûr.
- `const user: Partial = {};` — ça marche aussi, mais alors user reste Partial pour toujours.
- `const user: User | undefined = undefined;` — mais ensuite je dois vérifier undefined partout.
Comment déclarer correctement un objet vide avec un type en TypeScript, pour que