2016-03-25 11 views
2

In JsDoc, wie ein Array zu dokumentieren mehr Objektklassen wie diese Annahme:JSDoc - Dokumentieren ein gemischtes Array

var arr = [new Foo(), new Bar()]; 

Wie die Art zu schreiben, so dass Foo und Bar sind die einzige Klasse, die in der akzeptiert Array?

+0

Ist das der richtige Weg? '/ ** @type {[Foo | Bar]} * /' –

+1

Ich glaube, dass Sie nach '{Array suchen. } ' – Pandawan

+0

Dank @Pandawan. –

Antwort

0

Wenn der Typ des ersten Objekts immer Foo und der zweite immer Bar sein sollte, schauen wir uns an, was als Tuple-Objekt zu verstehen wäre. In diesem Fall wäre der richtige JSDoc Typ sein:

/** @type {[Foo, Bar]} */ 
const arr = [new Foo(), new Bar()]; 

Und nicht Array<Foo|Bar> als ein Gedanken haben würde, da diese für Dinge wie [new Foo(), new Foo()] erlaubt, was wahrscheinlich unerwünscht ist.