我尝试在现有的类/界面中添加一些功能,例如Date
,Array
。
原型编程正在运行,我可以将原型和静态方法添加到Date
和Array
但是当我使用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 }
谢谢!
答案 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
编译标记。