【发布时间】:2019-07-03 04:47:53
【问题描述】:
我有一个将日期对象作为参数的函数。此函数返回不同的日期。
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' 类型的参数不能分配给'string | number' 类型的参数。”
虽然官方文档声明 Date 构造函数可以接受一个数字(毫秒)、一个字符串(日期字符串),但创建日期对象似乎没有问题通过传递另一个日期对象日期构造函数。因此,我希望不会收到任何错误。
我已经用谷歌搜索了这个结果,但我发现的 SO 和 Github 问题似乎没有回答这个问题或解释这个问题(或者至少我不理解与我的示例相关的解释)。
我应该得到这个错误吗?有没有办法解决它?
谢谢!
【问题讨论】:
-
Date构造函数将对象参数强制为原语,TypeScript 不喜欢这样。您也可以将Date实例传递给parseInt并且它“有效” - 但这是 TypeScript 试图避免的那种代码。
标签: javascript typescript date