我有一些由工具生成的typescript代码。我想在另一个文件中扩展这个类。从0.9.1.1开始,最好的方法是什么?
我想也许我可以将我的附加函数绑定到原型上,但这会产生各种错误(这取决于编译器的心情)。
例如:
foo.ts(由工具生成)
module MyModule {
export class Dog { }
}
酒吧
module MyModule {
function bark(): string {return 'woof';}
Dog.prototype.bark = bark;
}
最佳答案
不能在typescript中的多个文件之间拆分类定义。然而,typescript理解javascript的工作原理,并且可以让您很好地编写idomatic javascript类:
module MyModule {
export function Dog(){};
}
module MyModule {
function bark(): string {return 'woof';}
Dog.prototype.bark = bark;
}
Try it online
一种解决方法是使用继承:
class BigDog extends Dog{
bark(){}
}