创建导出的声明类的实例以“不是构造函数”错误结束

时间:2018-01-30 02:55:42

标签: javascript typescript

我在一个旧的.js文件中有这样的javascript函数(我已经在.aspx文件中使用<script>引用了它):

function myFunc(param1) {
    this.param1 = param1;
}

我的目标是在我的.ts代码中使用这个函数:

var obj = new myFunc('test')

我需要做的是提供一个接口和类这样的类:

interface myFuncInterface {
}

export declare class myFunc implements myFuncInterface {
   public param1: any;
   constructor(param1);
}

到目前为止一切顺利。如果我将上面的代码放在我的.ts文件中,它的工作方式非常好但是如果我将它们放入类型定义文件然后导入它,就不会出现编译错误,但会引发运行时错误,如下所示: “myFunc不是构造函数”

非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

  

我需要做什么

声明一个在构造函数中获取值并将其作为公共成员

的类
declare class myFunc {
  constructor(public param1: any);
}

更多

如果旧的JavaScript表现得像新的JavaScript,那么您只需声明它就是新的JavaScript