打字稿 - 使用现有类/接口(如Date,Array

时间:2018-01-30 02:21:48

标签: typescript

我尝试在现有的类/界面中添加一些功能,例如DateArray

原型编程正在运行,我可以将原型和静态方法添加到DateArray

但是当我使用typescript进行原型编程时,我不能import任何其他模块,这是不方便的。我可以在同一个export文件中.ts任何内容(我的意思是与Date或Array相关的一些函数)。如果我使用import / export,则会出现大量错误。

如何利用typescript import / export进行原型编程?

e.g。

import {
  MyModule
} from 'mymodule';

interface DateConstructor {
  isLeap(y: number): boolean;
}

Date.isLeap = function(y: number) { call my module }

export
function myfunction() { export this data related function }

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该能够按如下方式扩展原型:

interface Date {
    isEquals(d: Date): boolean;
}

Date.prototype.isEquals = function(d: Date) {
    return this.getTime() === d.getTime();
}

const d1 = new Date();

setTimeout(() => {
    const d2 = new Date();
    console.log(d1.isEquals(d2));
}, 1000);

这应该与ES6模块兼容。确保在命令行或--module文件中使用tsconfig.json编译标记。