Как документировать функцию, которая используется только в .call () - PullRequest
0 голосов
/ 26 мая 2020

У меня есть 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?

При написании этого я понял, что могу создать родительский объект, который будет иметь этот метод, а затем задокументировать его, как обычно, но в моей текущей ситуации я чувствую, что он быть немного изощренным.

1 Ответ

0 голосов
/ 26 мая 2020

Вы можете использовать простой тип объединения в сочетании с @this, это будет выглядеть так @this {(ObjectA|ObjectB)}. Как говорит @VLAZ; вы можете предпочесть преобразование для использования параметра.

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

Подробнее о типах в компиляторе Closure

...