我有一个将日期对象作为参数的函数。此函数返回不同的日期。
function makeDate(date:Date) {
return new Date(date); //<--error here
}
const newDate = new Date(); //
console.log(makeDate(newDate)); // Returns date object just fine
Vscode 中的 Typescript 显示以下错误:
“‘日期’类型的参数不可分配给‘字符串 | 数字’类型的参数。”
虽然官方文档声明 Date 构造函数可以采用数字(毫秒)、字符串(日期字符串),但通过传递另一个日期对象 创建日期对象似乎没有问题日期构造函数。因此,我希望不会收到任何错误。
我用 Google 搜索了这个结果,但我发现的 SO 和 Github 问题似乎没有回答这个问题或解释这个问题(或者至少我不理解与我的示例相关的解释)。
我应该得到这个错误吗?有办法解决吗?
谢谢!
最佳答案
因为构造函数需要一个字符串或数字,所以使用 getTime 将修复它
function makeDate(date:Date) {
return new Date(date.getTime()); //<--error here
}
const newDate = new Date(); //
console.log(makeDate(newDate)); // Returns date object just fine
关于javascript - 为什么在使用日期对象创建日期时收到 "Argument of type ' Date' is not assignable to parameter of type 'string | number'“?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54600954/