【发布时间】:2020-04-21 11:05:44
【问题描述】:
我试图找到一种在 Angular(Typescript) 中向 Date 原型添加一些方法的方法,并通过 GitHub 找到了下面的解决方案,效果很好。
date.extensions.ts
export {}
// DATE EXTENSIONS
// ================
declare global {
interface Date {
addDays(days: number, useThis?: boolean): Date;
isToday(): boolean;
clone(): Date;
isAnotherMonth(date: Date): boolean;
isWeekend(): boolean;
isSameDate(date: Date): boolean;
}
}
Date.prototype.addDays = (days: number): Date => {
if (!days) return this;
console.log(this);
let date = this;
date.setDate(date.getDate() + days);
return date;
};
Date.prototype.isToday = (): boolean => {
let today = new Date();
return this.isSameDate(today);
};
Date.prototype.clone = (): Date => {
return new Date(+this);
};
Date.prototype.isAnotherMonth = (date: Date): boolean => {
return date && this.getMonth() !== date.getMonth();
};
Date.prototype.isWeekend = (): boolean => {
return this.getDay() === 0 || this.getDay() === 6;
};
Date.prototype.isSameDate = (date: Date): boolean => {
return date && this.getFullYear() === date.getFullYear() && this.getMonth() === date.getMonth() && this.getDate() === date.getDate();
};
参考:https://github.com/Microsoft/TypeScript/issues/7726#issuecomment-234469961
问题:谁能告诉我为什么export {}写在TS文件的开头,为什么要在这里添加?
【问题讨论】:
标签: javascript angular typescript date