Avatar ·

如何在TypeScript中正确指定日期(Date)类型?

你好!我刚开始从JavaScript学习TypeScript,在处理日期时遇到了一个令人困惑的情况。 假设我有一个函数,它接受用户的出生日期并返回年龄: ```typescript function calculateAge(birthDate) { const today = new Date(); const diff = today.getTime() - birthDate.getTime(); return Math.floor(diff / (1000 * 60 * 60 * 24 * 365.25)); } ``` 在JavaScript中,我只需传入`new Date('1990-05-15')`就能正常工作。但TypeScript报错说参数`birthDate`具有隐式类型`any`。我尝试写成`birthDate: Date`,但这样我就不能传入字符串`'1990-05-15'`或数字`631152000000`(timestamp)——编译器会报错。 另外,我有一个用户接口: ```typescript interface User { name: string; createdAt: ???; // 这里写什么? lastLogin: ???; // 这里呢? } ``` 我看到`new Date()`返回`Date`,但JSON数据是以字符串形式传入的。