我有一些由工具生成的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(){}
}

09-20 21:27