Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Typescript修饰类添加新方法_Javascript_Typescript_Typescript2.0 - Fatal编程技术网

Javascript Typescript修饰类添加新方法

Javascript Typescript修饰类添加新方法,javascript,typescript,typescript2.0,Javascript,Typescript,Typescript2.0,我想向修饰类添加一个新方法。一切正常,但编译器抱怨该方法不存在,我如何才能满足编译器的要求 export function decorate( constructor : Function ) { constructor.prototype.someMethod = function () { } } @decorate class Test { constructor() { //Property 'someMethod' does not exist on ty

我想向修饰类添加一个新方法。一切正常,但编译器抱怨该方法不存在,我如何才能满足编译器的要求

export function decorate( constructor : Function ) {

  constructor.prototype.someMethod = function () {

  }

} 

@decorate
class Test {
  constructor() {
    //Property 'someMethod' does not exist on type 'Test'.
    this.someMethod();
  }
}
您可以使用:

(<any>this).someMethod();
您不能使用接口来检查
是否包含方法
someMethod()
,因为您实际上没有实现接口,所以我认为这两个是唯一的选项

this['someMethod']();