什么打字类型应该用于功能?

What typings type should be for function?

打字类型(class、命名空间或其他)的功能应该是什么?

我的 JS 文件具有以下结构:

export function MyFunction(param1, param2) {

  const executeRequest = (payload) => { ... }
  this.on = (evt, cb) => { ... }
  this.off= (evt, cb) => { ... }

}

该函数似乎是构造函数,因为它访问 this 但似乎是独立的。它分配了两个函数成员 onoff。不确定 executeRequest 的作用,如果它只是在函数内部使用,则不需要在 public 接口上声明它。所以我要使用的定义是:

declare class MyFunction {
    constructor(param1: any, param2: any);
    on: (evt: any, cb: any) => void;
    off: (evt: any, cb: any) => void;
}
// Usage
let o = new MyFunction(null, null)

如果您知道参数的任何类型但从发布的代码中不清楚它们,您可以考虑替换 any