Avatar ·

Wie man den Typ für Date in TypeScript richtig angibt?

Hallo! Ich habe gerade angefangen, TypeScript nach JavaScript zu lernen, und bin auf eine unklare Situation bei der Arbeit mit Daten gestoßen. Angenommen, ich habe eine Funktion, die das Geburtsdatum eines Benutzers akzeptiert und sein Alter zurückgibt: ```typescript function calculateAge(birthDate) { const today = new Date(); const diff = today.getTime() - birthDate.getTime(); return Math.floor(diff / (1000 * 60 * 60 * 24 * 365.25)); } ``` In JavaScript würde ich einfach `new Date('1990-05-15')` übergeben, und alles funktioniert. Aber TypeScript beschwert sich, dass der Parameter `birthDate` einen impliziten Typ `any` hat. Ich habe versucht, `birthDate: Date` zu schreiben, aber dann kann ich keinen String `'1990-05-15'` oder eine Zahl `631152000000` (timestamp) übergeben – der Compiler gibt einen Fehler aus. Außerdem habe ich ein User-Interface: ```typescript interface User { name: string; createdAt: ???; // was soll hier hin? lastLogin: ???; // und hier? } ``` Ich sehe, dass `new Date()` ein `Date` zurückgibt, aber in JSON kommen die Daten im Format...