Ich habe eine Konstruktorfunktion, Foo
, dass ich meine Benutzer ohne new
anrufen möchten. Zum BeispielDokumentieren Konstruktorfunktionen ohne neue
const myFoo = Foo('bar');
für Foo
definiert als
function Foo(bar) {
if(!this) { return new Foo(bar); }
foo.bar = bar;
return this;
}
Wie dokumentieren wir dies mit JSDoc3? Wenn ich @class
(oder @constructor
) mit der Standardvorlage verwenden, verwendet der Ausgang immer new Foo(bar)
. Wenn ich Foo
als nur @function
dokumentiere, wird keine seiner Instanzmethoden oder -eigenschaften angezeigt, sondern nur die Funktion selbst.
Gibt es eine Möglichkeit, die Klassendefinition von der Konstruktor-Funktion zu trennen? Oder konfigurieren Sie die Ausgabe, um new
im Konstruktor nicht anzugeben? @lends
und @constructs
sucht nach einem ähnlichen Bedarf, aber nach den Konstruktor- und Instanzmethoden, die in einem Objektliteral definiert sind.