javascript - Typescript 中的类型 'getWeek' 上不存在属性 'Date'

标签 javascript typescript

<分区>

我正在尝试根据给定的日期范围计算一周的开始日期和结束日期。

下面的代码给我这个错误 [ts] 属性 'getWeek' 在类型 'Date' 上不存在。

  Date.prototype.getWeek = function(start)
{
    start = start || 0;
    var today = new Date(this.setHours(0, 0, 0, 0));
    var day = today.getDay() - start;
    var date = today.getDate() - day;

    var StartDate = new Date(today.setDate(date));
    var EndDate = new Date(today.setDate(date + 6));
    return [StartDate, EndDate];
}

var Dates = new Date().getWeek();

最佳答案

您需要使用接口(interface)合并在Date 接口(interface)上声明该方法

declare global {
    interface Date {
        getWeek (start?: number) : [Date, Date]
    }
}
Date.prototype.getWeek = function(start)
{
    start = start || 0;
    var today = new Date(this.setHours(0, 0, 0, 0));
    var day = today.getDay() - start;
    var date = today.getDate() - day;

    var StartDate = new Date(today.setDate(date));
    var EndDate = new Date(today.setDate(date + 6));
    return [StartDate, EndDate];
}

var Dates = new Date().getWeek();

或者如果你没有使用模块:

interface Date {
    getWeek (start?: number) : [Date, Date]
}

关于javascript - Typescript 中的类型 'getWeek' 上不存在属性 'Date',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49875629/

相关文章:

typescript - 错误 : cannot use 'new' with an expression whose type lacks a call or construct signature

javascript - 使用 javascript ActiveXObject 在 XML 中添加新节点给出错误

javascript - 在 typescript 中,返回 void 函数的函数的返回类型是什么?

javascript - 在 JavaScript 中从 json 中提取数据

javascript - node.js/express 链接多个 get 命令

javascript - 进度条无法正确前进

TypeScript 类泛型参数约束

javascript - 使用 jquery 增加 CSS 值而不是减少

typescript - 资源处理程序返回消息 : "Model validation failed (#/VpcSubnetIds: expected minimum item count: 2, found: 1)"

angular - 使用 Angular 4 中另一个的响应调用另一个可观察对象