Typescript接口,函数名为;新";

Typescript接口,函数名为;新";,typescript,types,interface,Typescript,Types,Interface,我正在尝试为一个外部库编写一个TS定义,该库有一个名为“new”的工厂函数。问题是在接口中添加一个名为“new”的函数会引用构造函数类型 有没有办法转义new关键字或使此类型正常工作 export interface Container { //This is what I want, except as a regular function, not the constructor new<T>(TConstructor: new () => T, locals?:

我正在尝试为一个外部库编写一个TS定义,该库有一个名为“new”的工厂函数。问题是在接口中添加一个名为“new”的函数会引用构造函数类型

有没有办法转义new关键字或使此类型正常工作

export interface Container {

  //This is what I want, except as a regular function, not the constructor
  new<T>(TConstructor: new () => T, locals?: object): T;

}
导出接口容器{
//这就是我想要的,除了作为常规函数,而不是构造函数
新建(TConstructor:new()=>T,locals?:object):T;
}

您可以引用方法标识符:

export interface Container {

  'new'<T>(TConstructor: new () => T, locals?: object): T;

}

declare let o: Container;
o.new(null!)
导出接口容器{
'new'(TConstructor:new()=>T,locals?:object):T;
}
申报let o:集装箱;
o、 新建(空!)

添加一对引号就足够了:

export interface Container {

  //This is what I want, except as a regular function, not the constructor
  'new'<T>(TConstructor: new () => T, locals?: object): T;

}
导出接口容器{
//这就是我想要的,除了作为常规函数,而不是构造函数
'new'(TConstructor:new()=>T,locals?:object):T;
}