javascript - 功能应该是什么类型?
问题描述
函数的类型(类、命名空间或其他)应该是什么?
我的 JS 文件具有下一个结构:
export function MyFunction(param1, param2) {
const executeRequest = (payload) => { ... }
this.on = (evt, cb) => { ... }
this.off= (evt, cb) => { ... }
}
解决方案
该函数似乎是一个构造函数,因为它访问this
但似乎是独立的。它分配了两个成员on
,off
它们是函数。不确定是什么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
如果您知道参数的任何类型但从发布的代码中不清楚,您可能会考虑替换。