In JSDoc besteht die Möglichkeit, die genauen Arten von Array-Inhalt like this zu dokumentieren: in IDEsDokument generische Typparameter in JSDOC
/** @param {Array.<MyClass>} myClasses An array of MyClass objects. */
TestClass.protoype.someMethod = function(myClasses){
myClasses[0].aMethodOnMyClass();
}
Dies macht Code-Vervollständigung wie WebStorm tatsächlich die richtige Art Informationen nach dem [0].
liefern. Das funktioniert gut für den Array-Typ, aber ich habe meine eigenen Sammlungstypen, wo ich diese Funktion ebenfalls nutzen möchte. Das Problem ist, dass ich die richtige Syntax nicht finden kann (vielleicht, weil es noch keine gibt). Ich würde gerne in der Lage sein, meine Klasse zu erklären, irgendwie wie folgt aus:
/**
* @typeparam {T} the type parameter
* @constructor {Test2.<T>}
* */
Test2 = function(){};
/**
* @returns {T} a value of type T, where T is the generic type parameter of Test2
*/
Test2.prototype.getGenericValue = function(){}
Diese Syntax oder Feature funktioniert nicht mit meinem IDE arbeiten und ist nicht here aufgeführt, so frage ich mich, ob es eine Syntax für diesen Einsatz- ist Fall, entweder für WebStorm oder ein anderes JS-Authoring-Tool.
Danke, ich habe gerade diese aus mir aus [dieser YouTrack Ausgabe] (http://youtrack.jetbrains.com/issue/WEB- 1208) und [dieser Closure Compiler Changeset] (https://code.google.com/p/closure-compiler/source/detail?spec=svn64d22457ddca24b07370f711276a449273bd6330&r=0eb41cabc9ba5463e3a34ea2fd900a8dd54f2136). Gibt es dafür Unterstützung auf Klassenebene? Meine Tests zeigen an, dass dies nur für "lokale Funktionstyp-Parameter" funktioniert. – Sebastian