首页 > 解决方案 > 功能应该是什么类型?

问题描述

函数的类型(类、命名空间或其他)应该是什么?

我的 JS 文件具有下一个结构:

export function MyFunction(param1, param2) {

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

}

标签: javascripttypescripttypescript-typings

解决方案


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

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如果您知道参数的任何类型但从发布的代码中不清楚,您可能会考虑替换。


推荐阅读