【问题标题】:Extend Date prototype with a interface Typescript使用 Typescript 接口扩展 Date 原型
【发布时间】:2017-03-04 20:34:48
【问题描述】:

我想在 javascript / typescript 中的 Date 原型中添加一个 getWeekNumber 函数。我想用一个接口来做,否则我会得到一个错误,他不知道方法 getWeekNumber()。

首先我尝试了这样的标准日期界面:

interface Date {
    getWeekNumber(): number;
}

这解决了 Date 的所有方法不再可以调用。

我想知道有一种方法可以通过接口扩展日期。

【问题讨论】:

    标签: javascript date interface typescript


    【解决方案1】:

    你可以这样做:

    在 DateExt.ts 中:

    interface Date 
    {
        getWeekNumber: () => number;
    }
    
    Date.prototype.getWeekNumber = function() 
    {
        return 123;//your calculations goes here
    };
    

    在您的 app.ts 中:

    import './DateExt';
    
    let a = new Date();
    console.log(a.getWeekNumber());
    

    【讨论】:

    • 该解决方案的问题在于,所有 Date 方法都不再可用,例如 getTime()getDate()
    • 它们可用。这是您的 IDE 的问题。我有最新的 VSCode / Typescript,它就像一个魅力。
    • 还有我的 ionic CLI crasht 和应用程序本身
    • 对不起我的错。我导出了界面并使用 {Date} 导入了它
    猜你喜欢
    • 2016-12-26
    • 2018-04-09
    • 1970-01-01
    • 2016-10-23
    • 2021-08-07
    • 2015-04-01
    • 2020-06-09
    • 2020-04-09
    相关资源
    最近更新 更多