代码之家  ›  专栏  ›  技术社区  ›  Brandon

使用日期对象创建日期时,为什么会收到“类型为'Date'的参数不可分配给类型为'string | number'的参数”?

  •  0
  • Brandon  · 技术社区  · 6 年前

    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显示以下错误:

    通过传递另一个日期对象 进入日期构造函数。因此,我希望不会收到任何错误。

    我在谷歌上搜索了这个结果,但我发现的SO和Github问题似乎没有回答这个问题或解释这个问题(或者至少我不理解与我的示例相关的解释)。

    我应该得到这个错误吗?有没有办法解决这个问题?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  3
  •   Adrian Brand    6 年前

    因为构造函数需要一个字符串或数字,所以使用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