如何记录仅在 .call() 中使用的函数

How to document function that is used only in .call()

我有 2 个 类 初始化一些值,完全相同的方式,所以我想我会做一个辅助函数,我将能够像这样使用

const a = new ObjectA();
const b = new ObjectB();

function f() {
  this.a.b.c = 10;
};

f.call(a);
f.call(b);

我如何记录该函数 f 以便它仅用于 ObjectA 和 ObjectB?

在写这篇文章时,我意识到我可以创建一个具有此方法的父对象,然后像往常一样记录它,但在我目前的情况下,我觉得它有点过度设计。

你可以使用一个简单的联合类型,结合 @this,它看起来像这样 @this {(ObjectA|ObjectB)}。正如@VLAZ 所说;您可能更喜欢转换为使用参数。

/** @param {(ObjectA|ObjectB)} foo */
function f(foo) {
  foo.a.b.c = 10;
};

Read more about types in the Closure Compiler