我有一个将日期对象作为参数的函数。此函数返回不同的日期。
function makeDate(date:Date) {
return new Date(date); //<--error here
}
const newDate = new Date(); //
console.log(makeDate(newDate)); // Returns date object just fine
Vscode中的打字稿显示以下错误:
“不能将类型为“日期”的参数分配给类型为“字符串|数字”的参数。”
虽然官方文档指出Date构造函数可以采用数字(毫秒),字符串(date字符串),但是通过将另一个日期对象传递给来创建日期对象似乎没有问题Date构造函数。因此,我希望不会收到任何错误。
我已经用Google搜索了此结果,但是我发现的SO和Github问题似乎无法回答或解释问题(或者至少我不理解与示例相关的解释)。
我应该得到这个错误吗?并有解决方法吗?
谢谢!
答案 0 :(得分:2)
因为构造函数需要一个字符串或数字,所以使用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