扩展日期类型表示找不到功能

时间:2019-04-03 08:35:20

标签: typescript

我在有用的日期扩展中发现了要点:https://gist.github.com/weslleih/b6e7628416a052963349494747aed659

当我尝试使用这些函数时,出现运行时错误消息:

  

TypeError:x.isToday不是函数

如果我以这种方式使用扩展名,则将扩展名导入文件中会起作用:

  

导入'src / date.extensions';

这似乎很老套。因为下一个人怎么知道为了使日期扩展方法起作用,需要导入此内容。

有人有更好的解决方案吗?

(或者这可能是错误的方法。我习惯于C#经常进行扩展方法)

1 个答案:

答案 0 :(得分:1)

在Typescript和Javascript中实际上不建议使用方法扩展,我的建议是使导出的函数带有一个日期并返回一个布尔值,如下所示:

const isToday = (date: Date): boolean => {
  const now = new Date();
  const inputDay = date.getDay();
  const inputMonth = date.getMonth();
  const inputYear = date.getFullYear();

  const nowDay = now.getDay();
  const nowMonth = now.getMonth();
  const nowYear = now.getFullYear();
  return (
    nowDay === inputDay && nowMonth === inputMonth && nowYear === inputYear
  );
};