Comment spécifier correctement le type pour une date (Date) en TypeScript ?
Bonjour ! Je viens de commencer à étudier TypeScript après JavaScript et j'ai rencontré une situation confuse en travaillant avec les dates.
Supposons que j'ai une fonction qui prend la date de naissance d'un utilisateur et retourne son âge :
```typescript
function calculateAge(birthDate) {
const today = new Date();
const diff = today.getTime() - birthDate.getTime();
return Math.floor(diff / (1000 * 60 * 60 * 24 * 365.25));
}
```
En JavaScript, je passerais simplement `new Date('1990-05-15')` et tout fonctionnerait. Mais TypeScript se plaint que le paramètre `birthDate` a un type implicite `any`. J'ai essayé d'écrire `birthDate: Date`, mais alors je ne peux pas passer une chaîne `'1990-05-15'` ou un nombre `631152000000` (timestamp) — le compilateur génère une erreur.
J'ai aussi une interface utilisateur :
```typescript
interface User {
name: string;
createdAt: ???; // que mettre ici ?
lastLogin: ???; // et ici ?
}
```
Je vois que `new Date()` retourne `Date`, mais dans JSON les données arrivent sous forme
No answers yet.
Connectez-vous pour laisser une réponse